diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+3.2.6.0
+-------
+* Updated OpenGL registry to 89bede35b.
+
 3.2.5.0
 -------
 * Updated OpenGL registry to 97558118d.
diff --git a/OpenGLRaw.cabal b/OpenGLRaw.cabal
--- a/OpenGLRaw.cabal
+++ b/OpenGLRaw.cabal
@@ -1,5 +1,5 @@
 name: OpenGLRaw
-version: 3.2.5.0
+version: 3.2.6.0
 synopsis: A raw binding for the OpenGL graphics system
 description:
   OpenGLRaw is a raw Haskell binding for the OpenGL 4.5 graphics system and
@@ -176,6 +176,7 @@
     Graphics.GL.ARB.PixelBufferObject
     Graphics.GL.ARB.PointParameters
     Graphics.GL.ARB.PointSprite
+    Graphics.GL.ARB.PolygonOffsetClamp
     Graphics.GL.ARB.ProgramInterfaceQuery
     Graphics.GL.ARB.ProvokingVertex
     Graphics.GL.ARB.QueryBufferObject
@@ -198,6 +199,7 @@
     Graphics.GL.ARB.ShadowAmbient
     Graphics.GL.ARB.SparseBuffer
     Graphics.GL.ARB.SparseTexture
+    Graphics.GL.ARB.SpirvExtensions
     Graphics.GL.ARB.StencilTexturing
     Graphics.GL.ARB.Sync
     Graphics.GL.ARB.TessellationShader
@@ -213,6 +215,7 @@
     Graphics.GL.ARB.TextureCubeMapArray
     Graphics.GL.ARB.TextureEnvCombine
     Graphics.GL.ARB.TextureEnvDot3
+    Graphics.GL.ARB.TextureFilterAnisotropic
     Graphics.GL.ARB.TextureFilterMinmax
     Graphics.GL.ARB.TextureFloat
     Graphics.GL.ARB.TextureGather
@@ -420,12 +423,15 @@
     Graphics.GL.KHR.DebugCompatibility
     Graphics.GL.KHR.DebugCore
     Graphics.GL.KHR.NoError
+    Graphics.GL.KHR.ParallelShaderCompile
     Graphics.GL.KHR.Robustness
     Graphics.GL.KHR.TextureCompressionASTCHDR
     Graphics.GL.KHR.TextureCompressionASTCLDR
     Graphics.GL.MESA
     Graphics.GL.MESA.PackInvert
+    Graphics.GL.MESA.ProgramBinaryFormats
     Graphics.GL.MESA.ResizeBuffers
+    Graphics.GL.MESA.TileRasterOrder
     Graphics.GL.MESA.WindowPos
     Graphics.GL.MESA.YCbCrTexture
     Graphics.GL.MESAX
@@ -437,6 +443,7 @@
     Graphics.GL.NV.BindlessTexture
     Graphics.GL.NV.BlendEquationAdvanced
     Graphics.GL.NV.BlendEquationAdvancedCoherent
+    Graphics.GL.NV.BlendMinmaxFactor
     Graphics.GL.NV.ClipSpaceWScaling
     Graphics.GL.NV.CommandList
     Graphics.GL.NV.ComputeProgram5
@@ -482,6 +489,8 @@
     Graphics.GL.NV.PointSprite
     Graphics.GL.NV.PresentVideo
     Graphics.GL.NV.PrimitiveRestart
+    Graphics.GL.NV.QueryResource
+    Graphics.GL.NV.QueryResourceTag
     Graphics.GL.NV.RegisterCombiners
     Graphics.GL.NV.RegisterCombiners2
     Graphics.GL.NV.RobustnessVideoMemoryPurge
diff --git a/RegistryProcessor/OpenGL-Registry/xml/gl.xml b/RegistryProcessor/OpenGL-Registry/xml/gl.xml
# file too large to diff: RegistryProcessor/OpenGL-Registry/xml/gl.xml
diff --git a/RegistryProcessor/RegistryProcessor.cabal b/RegistryProcessor/RegistryProcessor.cabal
--- a/RegistryProcessor/RegistryProcessor.cabal
+++ b/RegistryProcessor/RegistryProcessor.cabal
@@ -9,8 +9,8 @@
 category: Graphics
 build-type: Simple
 extra-source-files:
-  OpenGL-Registry/gl.xml
-  OpenGL-Registry/registry.rnc
+  OpenGL-Registry/xml/gl.xml
+  OpenGL-Registry/xml/registry.rnc
 cabal-version: >=1.10
 
 executable RegistryProcessor
diff --git a/RegistryProcessor/src/DeclarationParser.hs b/RegistryProcessor/src/DeclarationParser.hs
--- a/RegistryProcessor/src/DeclarationParser.hs
+++ b/RegistryProcessor/src/DeclarationParser.hs
@@ -1,6 +1,8 @@
 -- A very simple-minded parser for C declarations of the following syntax:
 --   "const"? type-specifier ("*" "const"?)* identifier ("[" number "]")?
-module DeclarationParser ( parse ) where
+module DeclarationParser
+  ( parse
+  ) where
 
 import Control.Monad
 import Data.Char
@@ -23,54 +25,59 @@
   return (typeSpec, length pointers + a)
 
 optionalConst :: ReadP ()
-optionalConst = option' () (token "const" >> return ())
+optionalConst = option' () (void (token "const"))
 
 parseTypeSpecifier :: ReadP String
-parseTypeSpecifier = choice' [
-  token "void" >> return "()",
-  token "float" >> return "CFloat",
-  token "double" >> return "CDouble",
-  token "int32_t" >> return "Int32",
-  token "int64_t" >> return "Int64",
-  do c <- option' "CChar" (token "signed" >> return "CSChar")
-     choice' [
-       token "char" >> return c,
-       token "short" >> return "CShort",
-       token "int" >> return "CInt",
-       token "long" >> choice' [token "long" >> return "CLLong",
-                                return "CLong"]],
-  do _ <- token "unsigned"
-     choice' [
-       token "char" >> return "CUChar",
-       token "short" >> return "CUShort",
-       token "int" >> return "CUInt",
-       token "long" >> choice' [token "long" >> return "CULLong",
-                                return "CULong"]],
-  token "struct" >> parseIdentifier >> return "()",  -- Hmmm...
-  token "GLvoid" >> return "()",  -- glGetPerfQueryDataINTEL still mentions this
-  parseIdentifier ]
+parseTypeSpecifier =
+  choice'
+    [ token "void" >> return "()"
+    , token "float" >> return "CFloat"
+    , token "double" >> return "CDouble"
+    , token "int32_t" >> return "Int32"
+    , token "int64_t" >> return "Int64"
+    , do c <- option' "CChar" (token "signed" >> return "CSChar")
+         choice'
+           [ token "char" >> return c
+           , token "short" >> return "CShort"
+           , token "int" >> return "CInt"
+           , token "long" >>
+             choice' [token "long" >> return "CLLong", return "CLong"]
+           ]
+    , do _ <- token "unsigned"
+         choice'
+           [ token "char" >> return "CUChar"
+           , token "short" >> return "CUShort"
+           , token "int" >> return "CUInt"
+           , token "long" >>
+             choice' [token "long" >> return "CULLong", return "CULong"]
+           ]
+    , token "struct" >> parseIdentifier >> return "()" -- Hmmm...
+    , token "GLvoid" >> return "()" -- glGetPerfQueryDataINTEL still mentions this
+    , parseIdentifier
+    ]
 
 parseIdentifier :: ReadP String
 parseIdentifier = do
   skipSpaces
   x <- satisfy (\c -> isAlpha c || c == '_')
-  xs <- munch (\c ->isAlphaNum c || c == '_')
-  return (x:xs)
+  xs <- munch (\c -> isAlphaNum c || c == '_')
+  return (x : xs)
 
 parseArray :: ReadP Int
-parseArray = choice' [
-  do _ <- token "["
-     skipSpaces
-     _ <- munch1 isDigit
-     _ <- token "]"
-     return 1,
-  return 0 ]
+parseArray =
+  choice'
+    [ do _ <- token "["
+         skipSpaces
+         _ <- munch1 isDigit
+         _ <- token "]"
+         return 1
+    , return 0
+    ]
 
 token :: String -> ReadP String
 token s = skipSpaces >> string s
 
 -- deterministic versions
-
 choice' :: [ReadP a] -> ReadP a
 choice' = foldr (<++) pfail
 
diff --git a/RegistryProcessor/src/Main.hs b/RegistryProcessor/src/Main.hs
--- a/RegistryProcessor/src/Main.hs
+++ b/RegistryProcessor/src/Main.hs
@@ -1,4 +1,6 @@
-module Main ( main ) where
+module Main
+  ( main
+  ) where
 
 import qualified Control.Monad as CM
 import qualified Data.Char as C
@@ -6,13 +8,13 @@
 import qualified Data.Map.Strict as M
 import qualified Data.Maybe as DM
 import qualified Data.Set as S
-import qualified Text.PrettyPrint.HughesPJClass as P
+import ManPages
+import MangledRegistry
 import qualified System.Directory as D
 import qualified System.Environment as E
 import qualified System.FilePath as F
 import qualified System.IO as SI
-import MangledRegistry
-import ManPages
+import qualified Text.PrettyPrint.HughesPJClass as P
 
 main :: IO ()
 main = do
@@ -32,30 +34,49 @@
       printReExports extModules
       printExtensionSupport extModules
       CM.forM_ (openGLVersions api) $ \v ->
-        CM.forM_ (supportedProfiles api v) $ \p ->
-          printFeature api v p registry
+        CM.forM_ (supportedProfiles api v) $ \p -> printFeature api v p registry
       printTopLevel api extModules
 
 openGLVersions :: API -> [Version]
-openGLVersions api = map read $ case unAPI api of
-  "gl" -> [ "1.0", "1.1", "1.2", "1.3", "1.4", "1.5",
-            "2.0", "2.1",
-            "3.0", "3.1", "3.2", "3.3",
-            "4.0", "4.1", "4.2", "4.3", "4.4", "4.5" ]
-  "gles1" -> [ "1.0" ]
-  "gles2" -> [ "2.0", "3.0", "3.1", "3.2" ]
-  a -> error $ "unknown API " ++ a
+openGLVersions api =
+  map read $
+  case unAPI api of
+    "gl" ->
+      [ "1.0"
+      , "1.1"
+      , "1.2"
+      , "1.3"
+      , "1.4"
+      , "1.5"
+      , "2.0"
+      , "2.1"
+      , "3.0"
+      , "3.1"
+      , "3.2"
+      , "3.3"
+      , "4.0"
+      , "4.1"
+      , "4.2"
+      , "4.3"
+      , "4.4"
+      , "4.5"
+      ]
+    "gles1" -> ["1.0"]
+    "gles2" -> ["2.0", "3.0", "3.1", "3.2"]
+    a -> error $ "unknown API " ++ a
 
 latestVersion :: API -> Version
 latestVersion = last . openGLVersions
 
 supportedProfiles :: API -> Version -> [Maybe ProfileName]
-supportedProfiles api v = case unAPI api of
-  "gl" | major v < 3 -> [ Nothing ]
-       | otherwise ->  map (Just . ProfileName) [ "core", "compatibility" ]
-  "gles1" -> map (Just . ProfileName) [ "lite", "common" ]
-  "gles2" -> [ Nothing ]
-  a -> error $ "unknown API " ++ a
+supportedProfiles api v =
+  case unAPI api of
+    "gl"
+      | major v < 3 -> [Nothing]
+      | otherwise -> map (Just . ProfileName) ["core", "compatibility"]
+    "gles1" -> map (Just . ProfileName) ["lite", "common"]
+    "gles2" -> [Nothing]
+    a -> error $ "unknown API " ++ a
 
 latestProfiles :: API -> [Maybe ProfileName]
 latestProfiles api = supportedProfiles api (latestVersion api)
@@ -66,7 +87,7 @@
 printFeature :: API -> Version -> Maybe ProfileName -> Registry -> IO ()
 printFeature api version mbProfile registry =
   printExtension [featureName version mbProfile] Nothing $
-    fixedReplay api version mbProfile registry
+  fixedReplay api version mbProfile registry
 
 featureName :: Version -> Maybe ProfileName -> String
 featureName version mbProfile =
@@ -76,96 +97,152 @@
 printTokens :: API -> Registry -> IO ()
 printTokens api registry = do
   let cmnt =
-        [Comment "All enumeration tokens from the",
-         Comment "<http://www.opengl.org/registry/ OpenGL registry>."]
-  startModule ["Tokens"] (Just "{-# LANGUAGE CPP, PatternSynonyms, ScopedTypeVariables #-}\n#if __GLASGOW_HASKELL__ >= 800\n{-# OPTIONS_GHC -Wno-missing-pattern-synonym-signatures #-}\n#endif") cmnt $ \moduleName h -> do
+        [ Comment "All enumeration tokens from the"
+        , Comment "<http://www.opengl.org/registry/ OpenGL registry>."
+        ]
+  startModule
+    ["Tokens"]
+    (Just
+       "{-# LANGUAGE CPP, PatternSynonyms, ScopedTypeVariables #-}\n#if __GLASGOW_HASKELL__ >= 800\n{-# OPTIONS_GHC -Wno-missing-pattern-synonym-signatures #-}\n#endif")
+    cmnt $ \moduleName h -> do
     hRender h $ Module moduleName P.empty
     hRender h $ Import (moduleNameFor ["Types"]) P.empty
     SI.hPutStrLn h ""
-    mapM_ (SI.hPutStrLn h . unlines . convertEnum)
-      [ e
-      | es <- M.elems (enums registry)
-      , e <- es
-      , api `matches` enumAPI e ]
+    mapM_
+      (SI.hPutStrLn h . unlines . convertEnum)
+      [e | es <- M.elems (enums registry), e <- es, api `matches` enumAPI e]
 
 printGroups :: API -> Registry -> IO ()
 printGroups api registry = do
   let cmnt =
-        [Comment "All enumeration groups from the",
-         Comment "<http://www.opengl.org/registry/ OpenGL registry>."]
+        [ Comment "All enumeration groups from the"
+        , Comment "<http://www.opengl.org/registry/ OpenGL registry>."
+        ]
   startModule ["Groups"] Nothing cmnt $ \moduleName h -> do
     hRender h $ Module moduleName (P.text "(\n  -- $EnumerantGroups\n)")
     hRender h $ Comment "$EnumerantGroups"
-    hRender h $ Comment "Note that the actual set of valid values depend on the OpenGL version, the"
-    hRender h $ Comment "chosen profile and the supported extensions. Therefore, the groups mentioned"
-    hRender h $ Comment "here should only be considered a rough guideline, for details see the OpenGL"
+    hRender h $
+      Comment
+        "Note that the actual set of valid values depend on the OpenGL version, the"
+    hRender h $
+      Comment
+        "chosen profile and the supported extensions. Therefore, the groups mentioned"
+    hRender h $
+      Comment
+        "here should only be considered a rough guideline, for details see the OpenGL"
     hRender h $ Comment "specification."
     CM.forM_ (M.assocs (groups registry)) $ \(gn, g) -> do
       let ugn = unGroupName gn
           es = getGroupEnums api registry g
       hRender h $ Comment ""
       hRender h $ Comment ("=== #" ++ ugn ++ "# " ++ ugn)
-      hRender h $ Comment (groupHeader es)
+      hRender h $ Comment (groupHeader gn es)
       hRender h $ Comment ""
       -- TODO: Improve the alias computation below. It takes quadratic time and
       -- is very naive about what is the canonical name and what is an alias.
       CM.forM_ es $ \e -> do
-        let same = L.sort [ f | f <- es, enumValue e == enumValue f ]
-        CM.when (e == head same) $ do
-          hRender h $ Comment ("* " ++ linkToToken e ++
-            (case tail same of
+        let same = L.sort [f | f <- es, enumValue e == enumValue f]
+        CM.when (e == head same) $
+          hRender h $
+          Comment
+            ("* " ++
+             linkToToken e ++
+             (case tail same of
                 [] -> ""
-                aliases -> " (" ++ al ++ ": " ++ L.intercalate ", " (map linkToToken aliases) ++ ")"
-                  where al | length aliases == 1 = "alias"
-                           | otherwise = "aliases"))
+                aliases ->
+                  " (" ++
+                  al ++
+                  ": " ++ L.intercalate ", " (map linkToToken aliases) ++ ")"
+                  where al
+                          | length aliases == 1 = "alias"
+                          | otherwise = "aliases"))
 
 linkToToken :: Enum' -> String
-linkToToken e = "'" ++ (case moduleNameFor ["Tokens"] of ModuleName mn -> mn) ++ "." ++ (unEnumName . enumName) e ++ "'"
+linkToToken e =
+  "'" ++
+  (case moduleNameFor ["Tokens"] of
+     ModuleName mn -> mn) ++
+  "." ++ (unEnumName . enumName) e ++ "'"
 
 -- There are several enums which are mentioned in groups, but commented out in
 -- enums (12 GL_*_ICC_SGIX enumerants). These are implicitly filtered out below.
 getGroupEnums :: API -> Registry -> Group -> [Enum']
 getGroupEnums api registry g =
-  [ e | name <- groupEnums g
-      , Just es <- [ M.lookup name (enums registry) ]
-      , e <- es
-      , api `matches` enumAPI e ]
+  [ e
+  | name <- groupEnums g
+  , Just es <- [M.lookup name (enums registry)]
+  , e <- es
+  , api `matches` enumAPI e
+  ]
 
-groupHeader :: [Enum'] -> String
-groupHeader es = case sortUnique (map enumType es) of
+groupHeader :: GroupName -> [Enum'] -> String
+groupHeader gn es =
+  case sortUnique (map enumTypeWithFix es)
   -- There are 2 empty groups: DataType and FfdMaskSGIX.
-  [] -> "There are no values defined for this enumeration group."
-  [t] | isMask t -> "A bitwise combination of several of the following values:"
+        of
+    [] -> "There are no values defined for this enumeration group."
+    [t]
+      | isMask t -> "A bitwise combination of several of the following values:"
       | otherwise -> "One of the following values:"
-  tys -> error $ "Contradicting enumerant types " ++ show tys
+    tys ->
+      error $
+      "Contradicting enumerant types " ++
+      L.intercalate " and " (map unTypeName tys) ++
+      " in group " ++
+      unGroupName gn ++
+      ":\n" ++
+      unlines
+        [ "  " ++ unEnumName (enumName e) ++ " :: " ++ unTypeName (enumType e)
+        | e <- es
+        ]
+  -- NV_path_rendering screws up typing: It uses GL_NONE as a bitfield, and this
+  -- leads to a collision in the PathFontStyle group. :-/
+  where
+    enumTypeWithFix e
+      | gn == GroupName "PathFontStyle" && enumName e == EnumName "GL_NONE" =
+        TypeName "GLbitfield"
+      | otherwise = enumType e
 
 -- Calulate a map from compact signature to short names.
 signatureMap :: Registry -> M.Map String String
-signatureMap registry = fst $ M.foldl' step (M.empty, 0::Integer) (commands registry)
-  where step (m,n) command = memberAndInsert (n+1) n (sig command) (dyn n) m
-        sig = flip (showSignatureFromCommand registry) False
-        dyn n = "dyn" ++ show n
-        memberAndInsert notFound found key value theMap =
-          (newMap, maybe notFound (const found) maybeValue)
-          where (maybeValue, newMap) = M.insertLookupWithKey (\_ _ s -> s) key value theMap
+signatureMap registry =
+  fst $ M.foldl' step (M.empty, 0 :: Integer) (commands registry)
+  where
+    step (m, n) command = memberAndInsert (n + 1) n (sig command) (dyn n) m
+    sig = flip (showSignatureFromCommand registry) False
+    dyn n = "dyn" ++ show n
+    memberAndInsert notFound found key value theMap =
+      (newMap, maybe notFound (const found) maybeValue)
+      where
+        (maybeValue, newMap) =
+          M.insertLookupWithKey (\_ _ s -> s) key value theMap
 
 printForeign :: M.Map String String -> IO ()
 printForeign sigMap = do
   let cmnt = [Comment "All foreign imports."]
-  startModule ["Foreign"] (Just "{-# LANGUAGE CPP #-}\n{-# OPTIONS_HADDOCK hide #-}") cmnt $ \moduleName h -> do
+  startModule
+    ["Foreign"]
+    (Just "{-# LANGUAGE CPP #-}\n{-# OPTIONS_HADDOCK hide #-}")
+    cmnt $ \moduleName h -> do
     hRender h $ Module moduleName P.empty
     hRender h $ Import (ModuleName "Foreign.C.Types") P.empty
-    hRender h $ Import (ModuleName "Foreign.Marshal.Error") (P.text "( throwIf )")
+    hRender h $
+      Import (ModuleName "Foreign.Marshal.Error") (P.text "( throwIf )")
     hRender h $ Import (ModuleName "Foreign.Ptr") P.empty
-    hRender h $ Import (moduleNameFor ["GetProcAddress"]) (P.text "( getProcAddress )")
+    hRender h $
+      Import (moduleNameFor ["GetProcAddress"]) (P.text "( getProcAddress )")
     hRender h $ Import (moduleNameFor ["Types"]) P.empty
     hRender h $ Import (ModuleName "Numeric.Fixed") P.empty
     hRender h $ Import (ModuleName "Numeric.Half") P.empty
     SI.hPutStrLn h ""
     SI.hPutStrLn h "getCommand :: String -> IO (FunPtr a)"
     SI.hPutStrLn h "getCommand cmd ="
-    SI.hPutStrLn h "  throwIfNullFunPtr (\"unknown OpenGL command \" ++ cmd) $ getProcAddress cmd"
-    SI.hPutStrLn h "  where throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)"
+    SI.hPutStrLn
+      h
+      "  throwIfNullFunPtr (\"unknown OpenGL command \" ++ cmd) $ getProcAddress cmd"
+    SI.hPutStrLn
+      h
+      "  where throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)"
     SI.hPutStrLn h "        throwIfNullFunPtr = throwIf (== nullFunPtr) . const"
     SI.hPutStrLn h ""
     mapM_ (SI.hPutStrLn h . uncurry makeImportDynamic) (M.assocs sigMap)
@@ -174,108 +251,155 @@
 chunksOf n = takeWhile (not . null) . L.unfoldr (Just . splitAt n)
 
 justifyRight :: Int -> a -> [a] -> [a]
-justifyRight n c xs = reverse . take (max n (length xs)) . (++ repeat c) . reverse $ xs
+justifyRight n c xs =
+  reverse . take (max n (length xs)) . (++ repeat c) . reverse $ xs
 
 printFunctions :: API -> Registry -> M.Map String String -> IO ()
 printFunctions api registry sigMap = do
   let cmnt =
-        [Comment "All raw functions from the",
-         Comment "<http://www.opengl.org/registry/ OpenGL registry>."]
+        [ Comment "All raw functions from the"
+        , Comment "<http://www.opengl.org/registry/ OpenGL registry>."
+        ]
       cmds = chunksOf 100 . M.toAscList . commands $ registry
-      mnames = [ [ "Functions", "F" ++ justifyRight 2 '0' (show i) ] |
-                   i <- [ 1 .. length cmds ] ]
+      mnames =
+        [ ["Functions", "F" ++ justifyRight 2 '0' (show i)]
+        | i <- [1 .. length cmds]
+        ]
   startModule ["Functions"] Nothing cmnt $ \moduleName h -> do
-    hRender h $ Module moduleName (P.text ("(\n" ++ separate (\x -> "module " ++ (case moduleNameFor x of ModuleName mn -> mn)) mnames ++ "\n)"))
-    CM.forM_ mnames $ \mname ->
-      hRender h $ Import (moduleNameFor mname) P.empty
+    hRender h $
+      Module
+        moduleName
+        (P.text
+           ("(\n" ++
+            separate
+              (\x ->
+                 "module " ++
+                 (case moduleNameFor x of
+                    ModuleName mn -> mn))
+              mnames ++
+            "\n)"))
+    CM.forM_ mnames $ \mname -> hRender h $ Import (moduleNameFor mname) P.empty
   CM.zipWithM_ (printSubFunctions api registry sigMap) mnames cmds
 
-printSubFunctions :: API -> Registry -> M.Map String String ->
-                     [String] -> [(CommandName, Command)] -> IO ()
+printSubFunctions ::
+     API
+  -> Registry
+  -> M.Map String String
+  -> [String]
+  -> [(CommandName, Command)]
+  -> IO ()
 printSubFunctions api registry sigMap mname cmds = do
   let cmnt =
-        [Comment "Raw functions from the",
-         Comment "<http://www.opengl.org/registry/ OpenGL registry>."]
+        [ Comment "Raw functions from the"
+        , Comment "<http://www.opengl.org/registry/ OpenGL registry>."
+        ]
   startModule mname (Just "{-# OPTIONS_HADDOCK hide #-}") cmnt $ \moduleName h -> do
-    hRender h $ Module moduleName (P.text ("(\n" ++ separate unCommandName (map fst cmds) ++ "\n)"))
-    hRender h $ Import (ModuleName "Control.Monad.IO.Class") (P.text "( MonadIO(..) )")
+    hRender h $
+      Module
+        moduleName
+        (P.text ("(\n" ++ separate unCommandName (map fst cmds) ++ "\n)"))
+    hRender h $
+      Import (ModuleName "Control.Monad.IO.Class") (P.text "( MonadIO(..) )")
     hRender h $ Import (ModuleName "Foreign.Ptr") P.empty
     hRender h $ Import (moduleNameFor ["Foreign"]) P.empty
     hRender h $ Import (moduleNameFor ["Types"]) P.empty
-    hRender h $ Import (ModuleName "System.IO.Unsafe") (P.text "( unsafePerformIO )")
+    hRender h $
+      Import (ModuleName "System.IO.Unsafe") (P.text "( unsafePerformIO )")
     SI.hPutStrLn h ""
     mapM_ (SI.hPutStrLn h . showCommand api registry sigMap . snd) cmds
 
 type ExtensionParts = ([TypeName], [Enum'], [Command])
+
 type ExtensionModule = (ExtensionName, ExtensionName, ExtensionParts)
 
 printExtensionModule :: ExtensionModule -> IO ()
 printExtensionModule (extName, mangledExtName, extensionParts) =
-  printExtension [extensionNameCategory mangledExtName, extensionNameName mangledExtName]
-                 (Just extName)
-                 extensionParts
+  printExtension
+    [extensionNameCategory mangledExtName, extensionNameName mangledExtName]
+    (Just extName)
+    extensionParts
 
 extendWithProfile :: ExtensionName -> Maybe ProfileName -> ExtensionName
 extendWithProfile extName =
-  maybe extName (\p -> extName { extensionNameName = joinWords [extensionNameName extName, capitalize (unProfileName p)]})
+  maybe
+    extName
+    (\p ->
+       extName
+       { extensionNameName =
+           joinWords [extensionNameName extName, capitalize (unProfileName p)]
+       })
 
 mangleExtensionName :: ExtensionName -> ExtensionName
-mangleExtensionName extName = extName {
-  extensionNameCategory = fixCategory $ extensionNameCategory extName,
-  extensionNameName = zip (splitWords (extensionNameName extName)) [0::Integer ..] >>= fixExtensionWord }
-  where fixCategory c = case c of
-          "3DFX" -> "ThreeDFX"
-          _ -> c
-        fixExtensionWord (w, pos) = case w of
-          "422" | pos == 0-> "FourTwoTwo"
-          "64bit" -> "64Bit"
-          "ES2" -> "ES2"
-          "ES3" -> "ES3"
-          "FXT1" -> "FXT1"
-          "a2ui" -> "A2UI"
-          "abgr" -> "ABGR"
-          "astc" -> "ASTC"
-          "bgra" -> "BGRA"
-          "bptc" -> "BPTC"
-          "cl" -> "CL"
-          "cmyka" -> "CMYKA"
-          "dxt1" -> "DXT1"
-          "es" -> "ES"
-          "ffd" -> "FFD"
-          "fp64" -> "FP64"
-          "gpu" -> "GPU"
-          "hdr" -> "HDR"
-          "latc" -> "LATC"
-          "ldr" -> "LDR"
-          "lod" -> "LOD"
-          "pn" -> "PN"
-          "rg" -> "RG"
-          "rgb" -> "RGB"
-          "rgb10" -> "RGB10"
-          "rgb32" -> "RGB32"
-          "rgtc" -> "RGTC"
-          "s3tc" -> "S3TC"
-          "sRGB" -> "SRGB"
-          "snorm" -> "SNorm"
-          "texture3D" -> "Texture3D"
-          "texture4D" -> "Texture4D"
-          "vdpau" -> "VDPAU"
-          "ycbcr" -> "YCbCr"
-          "ycrcb" -> "YCrCb"
-          "ycrcba" -> "YCrCbA"
-          _ -> capitalize w
+mangleExtensionName extName =
+  extName
+  { extensionNameCategory = fixCategory $ extensionNameCategory extName
+  , extensionNameName =
+      zip (splitWords (extensionNameName extName)) [0 :: Integer ..] >>=
+      fixExtensionWord
+  }
+  where
+    fixCategory c =
+      case c of
+        "3DFX" -> "ThreeDFX"
+        _ -> c
+    fixExtensionWord (w, pos) =
+      case w of
+        "422"
+          | pos == 0 -> "FourTwoTwo"
+        "64bit" -> "64Bit"
+        "ES2" -> "ES2"
+        "ES3" -> "ES3"
+        "FXT1" -> "FXT1"
+        "a2ui" -> "A2UI"
+        "abgr" -> "ABGR"
+        "astc" -> "ASTC"
+        "bgra" -> "BGRA"
+        "bptc" -> "BPTC"
+        "cl" -> "CL"
+        "cmyka" -> "CMYKA"
+        "dxt1" -> "DXT1"
+        "es" -> "ES"
+        "ffd" -> "FFD"
+        "fp64" -> "FP64"
+        "gpu" -> "GPU"
+        "hdr" -> "HDR"
+        "latc" -> "LATC"
+        "ldr" -> "LDR"
+        "lod" -> "LOD"
+        "pn" -> "PN"
+        "rg" -> "RG"
+        "rgb" -> "RGB"
+        "rgb10" -> "RGB10"
+        "rgb32" -> "RGB32"
+        "rgtc" -> "RGTC"
+        "s3tc" -> "S3TC"
+        "sRGB" -> "SRGB"
+        "snorm" -> "SNorm"
+        "texture3D" -> "Texture3D"
+        "texture4D" -> "Texture4D"
+        "vdpau" -> "VDPAU"
+        "ycbcr" -> "YCbCr"
+        "ycrcb" -> "YCrCb"
+        "ycrcba" -> "YCrCbA"
+        _ -> capitalize w
 
 extensionModules :: API -> Registry -> [ExtensionModule]
 extensionModules api registry =
   [ (extName, mangledExtName, executeModifications api mbProfile registry mods)
   | (extName, mods) <- supportedExtensions api registry
-  , mbProfile <- if isProfileDependent mods then suppProfs else [ Nothing ]
-  , let mangledExtName = mangleExtensionName (extendWithProfile extName mbProfile)
+  , mbProfile <-
+      if isProfileDependent mods
+        then suppProfs
+        else [Nothing]
+  , let mangledExtName =
+          mangleExtensionName (extendWithProfile extName mbProfile)
   ]
-  where suppProfs = latestProfiles api
-        isProfileDependent mods = any (`S.member` allProfileNames) (mentionedProfileNames mods)
-        mentionedProfileNames mods = DM.catMaybes . map modificationProfile $ mods
-        allProfileNames = S.fromList . DM.catMaybes $ suppProfs
+  where
+    suppProfs = latestProfiles api
+    isProfileDependent mods =
+      any (`S.member` allProfileNames) (mentionedProfileNames mods)
+    mentionedProfileNames = DM.mapMaybe modificationProfile
+    allProfileNames = S.fromList . DM.catMaybes $ suppProfs
 
 -- We only consider non-empty supported extensions/modifications for the given API.
 supportedExtensions :: API -> Registry -> [(ExtensionName, [Modification])]
@@ -283,56 +407,88 @@
   [ nameAndMods
   | ext <- extensions registry
   , api `supports` extensionSupported ext
-  , nameAndMods@(_,(_:_)) <- [nameAndModifications ext] ]
-  where nameAndModifications :: Extension -> (ExtensionName, [Modification])
-        nameAndModifications e =
-          (extensionName e,
-           [ conditionalModificationModification cm
-           | cm <- extensionsRequireRemove e
-           , api `matches` conditionalModificationAPI cm
+  , nameAndMods@(_, _:_) <- [nameAndModifications ext]
+  ]
+  where
+    nameAndModifications :: Extension -> (ExtensionName, [Modification])
+    nameAndModifications e =
+      ( extensionName e
+      , [ conditionalModificationModification cm
+        | cm <- extensionsRequireRemove e
+        , api `matches` conditionalModificationAPI cm
            -- ARB_compatibility has an empty "require" element only
-           , not . null . modificationInterfaceElements . conditionalModificationModification $ cm ])
+        , not .
+            null .
+            modificationInterfaceElements . conditionalModificationModification $
+            cm
+        ])
 
 extensionHyperlink :: ExtensionName -> String
 extensionHyperlink n =
   "<https://www.opengl.org/registry/specs/" ++
-  fixRegistryPath (extensionNameCategory n ++ "/" ++ extensionNameName n) ++ ".txt " ++
-  joinWords [extensionNameCategory n, extensionNameName n] ++ ">"
-  where fixRegistryPath :: String -> String
-        fixRegistryPath path = case path of
-          "3DFX/multisample" -> "3DFX/3dfx_multisample"
-          "EXT/debug_label" -> "EXT/EXT_debug_label"
-          "EXT/debug_marker" -> "EXT/EXT_debug_marker"
-          "EXT/multisample" -> "EXT/wgl_multisample"
-          "EXT/texture_cube_map" -> "ARB/texture_cube_map"
-          "INGR/blend_func_separate" -> "EXT/blend_func_separate"
-          "KHR/blend_equation_advanced_coherent" -> "KHR/blend_equation_advanced"
-          "KHR/texture_compression_astc_ldr" -> "KHR/texture_compression_astc_hdr"
-          "NV/blend_equation_advanced_coherent" -> "NV/blend_equation_advanced"
-          "NVX/conditional_render" -> "NVX/nvx_conditional_render"
-          "OES/byte_coordinates" -> "OES/OES_byte_coordinates"
-          "OES/compressed_paletted_texture" -> "OES/OES_compressed_paletted_texture"
-          "OES/fixed_point" -> "OES/OES_fixed_point"
-          "OES/query_matrix" -> "OES/OES_query_matrix"
-          "OES/read_format" -> "OES/OES_read_format"
-          "OES/single_precision" -> "OES/OES_single_precision"
-          "SGIS/fog_function" -> "SGIS/fog_func"
-          "SGIS/point_parameters" -> "EXT/point_parameters"
-          "SGIX/fragment_lighting" -> "EXT/fragment_lighting"
-          "SGIX/pixel_texture" -> "SGIX/sgix_pixel_texture"
-          "SGIX/texture_add_env" -> "SGIX/texture_env_add"
-          _ -> path
+  fixRegistryPath (extensionNameCategory n ++ "/" ++ extensionNameName n) ++
+  ".txt " ++ joinWords [extensionNameCategory n, extensionNameName n] ++ ">"
+  where
+    fixRegistryPath :: String -> String
+    fixRegistryPath path =
+      case path of
+        "3DFX/multisample" -> "3DFX/3dfx_multisample"
+        "EXT/debug_label" -> "EXT/EXT_debug_label"
+        "EXT/debug_marker" -> "EXT/EXT_debug_marker"
+        "EXT/multisample" -> "EXT/wgl_multisample"
+        "EXT/texture_cube_map" -> "ARB/texture_cube_map"
+        "INGR/blend_func_separate" -> "EXT/blend_func_separate"
+        "KHR/blend_equation_advanced_coherent" -> "KHR/blend_equation_advanced"
+        "KHR/texture_compression_astc_ldr" -> "KHR/texture_compression_astc_hdr"
+        "NV/blend_equation_advanced_coherent" -> "NV/blend_equation_advanced"
+        "NVX/conditional_render" -> "NVX/nvx_conditional_render"
+        "OES/byte_coordinates" -> "OES/OES_byte_coordinates"
+        "OES/compressed_paletted_texture" ->
+          "OES/OES_compressed_paletted_texture"
+        "OES/fixed_point" -> "OES/OES_fixed_point"
+        "OES/query_matrix" -> "OES/OES_query_matrix"
+        "OES/read_format" -> "OES/OES_read_format"
+        "OES/single_precision" -> "OES/OES_single_precision"
+        "SGIS/fog_function" -> "SGIS/fog_func"
+        "SGIS/point_parameters" -> "EXT/point_parameters"
+        "SGIX/fragment_lighting" -> "EXT/fragment_lighting"
+        "SGIX/pixel_texture" -> "SGIX/sgix_pixel_texture"
+        "SGIX/texture_add_env" -> "SGIX/texture_env_add"
+        _ -> path
 
 printReExports :: [ExtensionModule] -> IO ()
 printReExports extModules = do
-  let extMap = M.fromListWith (++) [((extensionNameCategory extName, extensionNameCategory mangledExtName), [mangledExtName])
-                                   | (extName, mangledExtName, _) <- extModules ]
-      reExports = [ (cat, L.sort mangledExtNames)
-                  | (cat, mangledExtNames) <- M.toList extMap ]
+  let extMap =
+        M.fromListWith
+          (++)
+          [ ( ( extensionNameCategory extName
+              , extensionNameCategory mangledExtName)
+            , [mangledExtName])
+          | (extName, mangledExtName, _) <- extModules
+          ]
+      reExports =
+        [ (cat, L.sort mangledExtNames)
+        | (cat, mangledExtNames) <- M.toList extMap
+        ]
   CM.forM_ reExports $ \((category, mangledCategory), mangledExtNames) -> do
-    let cmnt = [Comment ("A convenience module, combining all raw modules containing " ++ category ++ " extensions.")]
+    let cmnt =
+          [ Comment
+              ("A convenience module, combining all raw modules containing " ++
+               category ++ " extensions.")
+          ]
     startModule [mangledCategory] Nothing cmnt $ \moduleName h -> do
-      hRender h $ Module moduleName (P.text ("(\n" ++ separate (\mangledExtName -> "module " ++ (case extensionNameFor mangledExtName of ModuleName mn -> mn)) mangledExtNames ++ "\n)"))
+      hRender h $
+        Module
+          moduleName
+          (P.text
+             ("(\n" ++
+              separate
+                (\mangledExtName ->
+                   "module " ++
+                   (case extensionNameFor mangledExtName of
+                      ModuleName mn -> mn))
+                mangledExtNames ++
+              "\n)"))
       CM.forM_ mangledExtNames $ \mangledExtName ->
         hRender h $ Import (extensionNameFor mangledExtName) P.empty
 
@@ -341,30 +497,51 @@
   let cmnt = [Comment "Extension support predicates."]
   startModule ["ExtensionPredicates"] (Just "{-# OPTIONS_HADDOCK hide #-}") cmnt $ \moduleName h -> do
     hRender h $ Module moduleName P.empty
-    hRender h $ Import (ModuleName "Control.Monad.IO.Class") (P.text "( MonadIO(..) )")
+    hRender h $
+      Import (ModuleName "Control.Monad.IO.Class") (P.text "( MonadIO(..) )")
     hRender h $ Import (ModuleName "Data.Set") (P.text "( member )")
-    hRender h $ Import (moduleNameFor ["GetProcAddress"]) (P.text "( getExtensions, extensions )")
-    let names = sortUnique [ extName | (extName, _, _) <- extModules]
+    hRender h $
+      Import
+        (moduleNameFor ["GetProcAddress"])
+        (P.text "( getExtensions, extensions )")
+    let names = sortUnique [extName | (extName, _, _) <- extModules]
     CM.forM_ names $ \extName -> do
       let predNameMonad = extensionPredicateNameMonad extName
           predName = extensionPredicateName extName
-          extString = joinWords [ extensionNameAPI extName
-                                , extensionNameCategory extName
-                                 , extensionNameName extName ]
-      SI.hPutStrLn h $ ""
-      hRender h $ Comment ("| Is the " ++ extensionHyperlink extName ++ " extension supported?")
+          extString =
+            joinWords
+              [ extensionNameAPI extName
+              , extensionNameCategory extName
+              , extensionNameName extName
+              ]
+      SI.hPutStrLn h ""
+      hRender h $
+        Comment
+          ("| Is the " ++ extensionHyperlink extName ++ " extension supported?")
       SI.hPutStrLn h $ predNameMonad ++ " :: MonadIO m => m Bool"
-      SI.hPutStrLn h $ predNameMonad ++ " = getExtensions >>= (return . member " ++ show extString ++ ")"
-      SI.hPutStrLn h $ ""
-      hRender h $ Comment ("| Is the " ++ extensionHyperlink extName ++ " extension supported?")
-      hRender h $ Comment "Note that in the presence of multiple contexts with different capabilities,"
-      hRender h $ Comment ("this might be wrong. Use '" ++ predNameMonad ++ "' in those cases instead.")
+      SI.hPutStrLn h $
+        predNameMonad ++
+        " = getExtensions >>= (return . member " ++ show extString ++ ")"
+      SI.hPutStrLn h ""
+      hRender h $
+        Comment
+          ("| Is the " ++ extensionHyperlink extName ++ " extension supported?")
+      hRender h $
+        Comment
+          "Note that in the presence of multiple contexts with different capabilities,"
+      hRender h $
+        Comment
+          ("this might be wrong. Use '" ++
+           predNameMonad ++ "' in those cases instead.")
       SI.hPutStrLn h $ predName ++ " :: Bool"
-      SI.hPutStrLn h $ predName ++ " = member " ++ show extString ++ " extensions"
+      SI.hPutStrLn h $
+        predName ++ " = member " ++ show extString ++ " extensions"
       SI.hPutStrLn h $ "{-# NOINLINE " ++ predName ++ " #-}"
 
 extensionNameFor :: ExtensionName -> ModuleName
-extensionNameFor mangledExtName = moduleNameFor [extensionNameCategory mangledExtName, extensionNameName mangledExtName]
+extensionNameFor mangledExtName =
+  moduleNameFor
+    [extensionNameCategory mangledExtName, extensionNameName mangledExtName]
 
 supports :: API -> Maybe [API] -> Bool
 _ `supports` Nothing = True
@@ -374,83 +551,126 @@
 capitalize str = C.toUpper (head str) : map C.toLower (tail str)
 
 separate :: (a -> String) -> [a] -> String
-separate f = L.intercalate ",\n" . map ("  " ++) . map f
+separate f = L.intercalate ",\n" . map (("  " ++) . f)
 
 -- Note that we handle features just like extensions.
 printExtension :: [String] -> Maybe ExtensionName -> ExtensionParts -> IO ()
 printExtension moduleNameSuffix mbExtName (ts, es, cs) = do
-  let pragma = if null es then Nothing else Just "{-# LANGUAGE PatternSynonyms #-}"
+  let pragma =
+        if null es
+          then Nothing
+          else Just "{-# LANGUAGE PatternSynonyms #-}"
   startModule moduleNameSuffix pragma [] $ \moduleName h -> do
-    let extStr = flip (maybe "") mbExtName $ \extName ->
-                   "  -- * Extension Support\n" ++
-                   separate id [ extensionPredicateNameMonad extName
-                               , extensionPredicateName extName ] ++ ",\n"
-        typeStr  | null ts = ""
-                 | otherwise = "  -- * Types\n" ++
-                               separate unTypeName ts ++
-                               if null es && null cs then "\n" else ",\n"
-        enumStr | null es = ""
-                | otherwise = "  -- * Enums\n" ++
-                              separate (("pattern " ++) . unEnumName . enumName) es ++
-                              if null cs then "\n" else ",\n"
-        funcStr | null cs = ""
-                | otherwise = "  -- * Functions\n" ++
-                              separate (unCommandName . commandName) cs ++
-                              "\n"
-
-    hRender h $ Module moduleName (P.text ("(\n" ++ extStr ++ typeStr ++ enumStr ++ funcStr ++ ")"))
+    let extStr =
+          flip (maybe "") mbExtName $ \extName ->
+            "  -- * Extension Support\n" ++
+            separate
+              id
+              [ extensionPredicateNameMonad extName
+              , extensionPredicateName extName
+              ] ++
+            ",\n"
+        typeStr
+          | null ts = ""
+          | otherwise =
+            "  -- * Types\n" ++
+            separate unTypeName ts ++
+            if null es && null cs
+              then "\n"
+              else ",\n"
+        enumStr
+          | null es = ""
+          | otherwise =
+            "  -- * Enums\n" ++
+            separate (("pattern " ++) . unEnumName . enumName) es ++
+            if null cs
+              then "\n"
+              else ",\n"
+        funcStr
+          | null cs = ""
+          | otherwise =
+            "  -- * Functions\n" ++
+            separate (unCommandName . commandName) cs ++ "\n"
+    hRender h $
+      Module
+        moduleName
+        (P.text ("(\n" ++ extStr ++ typeStr ++ enumStr ++ funcStr ++ ")"))
     CM.when (DM.isJust mbExtName) $
       hRender h $ Import (moduleNameFor ["ExtensionPredicates"]) P.empty
-    CM.unless (null ts) $
-      hRender h $ Import (moduleNameFor ["Types"]) P.empty
-    CM.unless (null es) $
-      hRender h $ Import (moduleNameFor ["Tokens"]) P.empty
+    CM.unless (null ts) $ hRender h $ Import (moduleNameFor ["Types"]) P.empty
+    CM.unless (null es) $ hRender h $ Import (moduleNameFor ["Tokens"]) P.empty
     CM.unless (null cs) $
       hRender h $ Import (moduleNameFor ["Functions"]) P.empty
 
 extensionPredicateName :: ExtensionName -> String
 extensionPredicateName extName =
-  joinWords [ map C.toLower (extensionNameAPI extName)
-            , extensionNameCategory extName
-            , extensionNameName extName ]
+  joinWords
+    [ map C.toLower (extensionNameAPI extName)
+    , extensionNameCategory extName
+    , extensionNameName extName
+    ]
 
 extensionPredicateNameMonad :: ExtensionName -> String
 extensionPredicateNameMonad extName =
   map C.toLower (extensionNameAPI mangledExtName) ++
   "Get" ++
-  extensionNameCategory mangledExtName ++
-  extensionNameName mangledExtName
-  where mangledExtName = mangleExtensionName extName
+  extensionNameCategory mangledExtName ++ extensionNameName mangledExtName
+  where
+    mangledExtName = mangleExtensionName extName
 
 printTopLevel :: API -> [ExtensionModule] -> IO ()
 printTopLevel api extModules = do
-  let mangledCategories = sortUnique [ extensionNameCategory mangledExtName
-                                     | (_, mangledExtName, _) <- extModules ]
+  let mangledCategories =
+        sortUnique
+          [ extensionNameCategory mangledExtName
+          | (_, mangledExtName, _) <- extModules
+          ]
       profToReExport = profileToReExport api
       lastComp = featureName (latestVersion api) profToReExport
-      moduleNames = [ moduleNameFor [c] | c <- [ lastComp, "GetProcAddress" ] ++ mangledCategories ]
-      cmnt = [ Comment (L.intercalate " "
-                 [ "A convenience module, combining the latest"
-                 , apiName api
-                 , maybe "version" (\p -> unProfileName p ++ " profile") profToReExport
-                 , "plus" ])
-             , Comment "all extensions." ]
+      moduleNames =
+        [ moduleNameFor [c]
+        | c <- [lastComp, "GetProcAddress"] ++ mangledCategories
+        ]
+      cmnt =
+        [ Comment
+            (unwords
+               [ "A convenience module, combining the latest"
+               , apiName api
+               , maybe
+                   "version"
+                   (\p -> unProfileName p ++ " profile")
+                   profToReExport
+               , "plus"
+               ])
+        , Comment "all extensions."
+        ]
   startModule [] Nothing cmnt $ \moduleName h -> do
-    hRender h $ Module moduleName (P.text ("(\n" ++ separate (\(ModuleName m) -> "module " ++ m) moduleNames ++ "\n)"))
+    hRender h $
+      Module
+        moduleName
+        (P.text
+           ("(\n" ++
+            separate (\(ModuleName m) -> "module " ++ m) moduleNames ++ "\n)"))
     CM.forM_ moduleNames $ \theModuleName ->
       hRender h $ Import theModuleName P.empty
 
 apiName :: API -> String
-apiName api = case unAPI api of
-  "gl" -> "OpenGL"
-  "gles1" -> "OpenGL ES 1.x"
-  "gles2" -> "OpenGL ES"
-  a -> error $ "unknown API " ++ a
+apiName api =
+  case unAPI api of
+    "gl" -> "OpenGL"
+    "gles1" -> "OpenGL ES 1.x"
+    "gles2" -> "OpenGL ES"
+    a -> error $ "unknown API " ++ a
 
 sortUnique :: Ord a => [a] -> [a]
 sortUnique = S.toList . S.fromList
 
-startModule :: [String] -> Maybe String -> [Comment] -> (ModuleName -> SI.Handle -> IO ()) -> IO ()
+startModule ::
+     [String]
+  -> Maybe String
+  -> [Comment]
+  -> (ModuleName -> SI.Handle -> IO ())
+  -> IO ()
 startModule moduleNameSuffix mbPragma comments action = do
   let path = modulePathFor moduleNameSuffix
       moduleName = moduleNameFor moduleNameSuffix
@@ -463,15 +683,19 @@
 moduleNameFor = ModuleName . L.intercalate "." . moduleNameParts
 
 modulePathFor :: [String] -> FilePath
-modulePathFor moduleNameSuffix = F.joinPath (moduleNameParts moduleNameSuffix) `F.addExtension` "hs"
+modulePathFor moduleNameSuffix =
+  F.joinPath (moduleNameParts moduleNameSuffix) `F.addExtension` "hs"
 
 moduleNameParts :: [String] -> [String]
 moduleNameParts = (["Graphics", "GL"] ++)
 
-printModuleHeader :: SI.Handle -> Maybe String -> ModuleName -> [Comment] -> IO ()
+printModuleHeader ::
+     SI.Handle -> Maybe String -> ModuleName -> [Comment] -> IO ()
 printModuleHeader h mbPragma (ModuleName moduleName) comments = do
   maybe (return ()) (SI.hPutStrLn h) mbPragma
-  hRender h $ Comment "------------------------------------------------------------------------------"
+  hRender h $
+    Comment
+      "------------------------------------------------------------------------------"
   hRender h $ Comment "|"
   hRender h $ Comment ("Module      :  " ++ moduleName)
   hRender h $ Comment "Copyright   :  (c) Sven Panne 2016"
@@ -484,7 +708,9 @@
   CM.unless (null comments) $ do
     mapM_ (hRender h) comments
     hRender h $ Comment ""
-  hRender h $ Comment "------------------------------------------------------------------------------"
+  hRender h $
+    Comment
+      "------------------------------------------------------------------------------"
   SI.hPutStrLn h ""
 
 -- Annoyingly enough, the OpenGL registry doesn't contain any enums for
@@ -494,56 +720,66 @@
 fixedReplay api version mbProfile registry
   | api == API "gl" && version == read "1.0" = (ts', es11, cs)
   | otherwise = (ts', es, cs)
-  where (ts, es, cs) = replay api version mbProfile registry
-        (_, es11, _) = replay api (read "1.1") mbProfile registry
-        ts' = S.toList . addFuncsAndMakes . S.unions  $ S.fromList ts : map referencedTypes cs
+  where
+    (ts, es, cs) = replay api version mbProfile registry
+    (_, es11, _) = replay api (read "1.1") mbProfile registry
+    ts' =
+      S.toList . addFuncsAndMakes . S.unions $
+      S.fromList ts : map referencedTypes cs
 
 -- For debug callbacks, we want to export the Haskell types and their creators, too.
 addFuncsAndMakes :: S.Set TypeName -> S.Set TypeName
 addFuncsAndMakes =
-   flip (foldr addFuncAndMake) [
-     "GLDEBUGPROC",
-     "GLDEBUGPROCAMD",
-     "GLDEBUGPROCARB",
-     "GLDEBUGPROCKHR" ]
-   where addFuncAndMake t ts
-           | TypeName t `S.member` ts =
-               ts `S.union` S.fromList (map TypeName [ t ++ "Func", "make" ++ t ])
-           | otherwise = ts
+  flip
+    (foldr addFuncAndMake)
+    ["GLDEBUGPROC", "GLDEBUGPROCAMD", "GLDEBUGPROCARB", "GLDEBUGPROCKHR"]
+  where
+    addFuncAndMake t ts
+      | TypeName t `S.member` ts =
+        ts `S.union` S.fromList (map TypeName [t ++ "Func", "make" ++ t])
+      | otherwise = ts
 
 -- Here is the heart of the feature construction logic: Chronologically replay
 -- the whole version history for the given API/version/profile triple.
 replay :: API -> Version -> Maybe ProfileName -> Registry -> ExtensionParts
 replay api version mbProfile registry =
   executeModifications api mbProfile registry modifications
-  where modifications = history >>= flip lookup' (features registry)
-        history = L.sort [ key
-                         | key@(a,v) <- M.keys (features registry)
-                         , a == api
-                         , v <= version ]
+  where
+    modifications = history >>= flip lookup' (features registry)
+    history =
+      L.sort
+        [key | key@(a, v) <- M.keys (features registry), a == api, v <= version]
 
-executeModifications :: API -> Maybe ProfileName -> Registry -> [Modification] -> ExtensionParts
+executeModifications ::
+     API -> Maybe ProfileName -> Registry -> [Modification] -> ExtensionParts
 executeModifications api mbProfile registry modifications = (ts, es, cs)
-  where ts = [ n | TypeElement n <- lst ]
-        es = [ e | EnumElement n <- lst
-                 , e <- lookup' n (enums registry)
-                 , api `matches` enumAPI e ]
-        cs = [ lookup' n (commands registry) | CommandElement n <- lst ]
-        lst = S.toList $ interfaceElementsFor mbProfile modifications
+  where
+    ts = [n | TypeElement n <- lst]
+    es =
+      [ e
+      | EnumElement n <- lst
+      , e <- lookup' n (enums registry)
+      , api `matches` enumAPI e
+      ]
+    cs = [lookup' n (commands registry) | CommandElement n <- lst]
+    lst = S.toList $ interfaceElementsFor mbProfile modifications
 
-interfaceElementsFor :: Maybe ProfileName -> [Modification] -> S.Set InterfaceElement
+interfaceElementsFor ::
+     Maybe ProfileName -> [Modification] -> S.Set InterfaceElement
 interfaceElementsFor mbProfile modifications =
   foldl (flip ($)) S.empty modificationsFor
-  where modificationsFor =
-          [ op (modificationKind m) ie
-          | m <- modifications
-          , maybe True (`matches` modificationProfile m) mbProfile
-          , ie <- modificationInterfaceElements m ]
-        op Require = S.insert
-        op Remove = S.delete
+  where
+    modificationsFor =
+      [ op (modificationKind m) ie
+      | m <- modifications
+      , maybe True (`matches` modificationProfile m) mbProfile
+      , ie <- modificationInterfaceElements m
+      ]
+    op Require = S.insert
+    op Remove = S.delete
 
 lookup' :: (Ord k, Show k) => k -> M.Map k a -> a
-lookup' k m = M.findWithDefault (error ("unknown name " ++ show k)) k m
+lookup' k = M.findWithDefault (error ("unknown name " ++ show k)) k
 
 matches :: Eq a => a -> Maybe a -> Bool
 _ `matches` Nothing = True
@@ -551,103 +787,130 @@
 
 convertEnum :: Enum' -> [String]
 convertEnum e =
-  [ "pattern " ++ n ++ " = " ++ unEnumValue (enumValue e) ++ " :: " ++ unTypeName (enumType e) ]
-  where n = unEnumName . enumName $ e
+  [ "pattern " ++
+    n ++ " = " ++ unEnumValue (enumValue e) ++ " :: " ++ unTypeName (enumType e)
+  ]
+  where
+    n = unEnumName . enumName $ e
 
 showCommand :: API -> Registry -> M.Map String String -> Command -> String
 showCommand api registry sigMap c =
-  showString (P.render (P.pPrint (Comment (take 77 (name ++ " " ++ repeat '-'))) P.$+$ P.text "" P.$+$ P.text "")) .
-
+  showString
+    (P.render
+       (P.pPrint (Comment (take 77 (name ++ " " ++ repeat '-'))) P.$+$ P.text "" P.$+$
+        P.text "")) .
   showString (P.render cmnt) .
-
   showString (name ++ "\n") .
-  showString ("  :: MonadIO m\n") .
+  showString "  :: MonadIO m\n" .
   showString ("  => " ++ signature True) .
-  showString (name ++ args ++ " = liftIO $ " ++ dyn_name ++ " " ++ ptr_name ++ args ++ "\n\n") .
-
+  showString
+    (name ++
+     args ++ " = liftIO $ " ++ dyn_name ++ " " ++ ptr_name ++ args ++ "\n\n") .
   showString ("{-# NOINLINE " ++ ptr_name ++ " #-}\n") .
   showString (ptr_name ++ " :: FunPtr (" ++ compactSignature ++ ")\n") .
-  showString (ptr_name ++ " = unsafePerformIO $ getCommand " ++ str_name ++ "\n") .
-
-  id $ ""
-
-  where name = signatureElementName (resultType c)
-        dyn_name = lookup' compactSignature sigMap
-        ptr_name = "ptr_" ++ name
-        str_name = show name
-        compactSignature = signature False
-        signature withComment = showSignatureFromCommand registry c withComment
-        urls = M.findWithDefault [] (api, CommandName name) manPageURLs
-        links = L.intercalate " or " (map renderURL urls)
-        cmnt = case concat (man ++ ve ++ al) of
-                 ""  -> P.empty
-                 cs -> P.pPrint (Comment ("|" ++ cs)) P.$+$ P.text ""
-        man = case urls of
-                []  -> []
-                [_] -> [" Manual page for "  ++ links ++ "."]
-                _   -> [" Manual pages for " ++ links ++ "."]
-        ve = [ " The vector equivalent of this command is '" ++ unCommandName v ++ "'." | Just v <- [vecEquiv c] ]
-        al = [ " This command is an alias for '" ++ unCommandName a ++ "'." | Just a <- [alias c] ]
-        renderURL (u, l) = "<" ++ u ++ " " ++ l ++ ">"
-        args = [1 .. length (paramTypes c)] >>= \i -> " v" ++ show i
+  showString
+    (ptr_name ++ " = unsafePerformIO $ getCommand " ++ str_name ++ "\n") $
+  ""
+  where
+    name = signatureElementName (resultType c)
+    dyn_name = lookup' compactSignature sigMap
+    ptr_name = "ptr_" ++ name
+    str_name = show name
+    compactSignature = signature False
+    signature = showSignatureFromCommand registry c
+    urls = M.findWithDefault [] (api, CommandName name) manPageURLs
+    links = L.intercalate " or " (map renderURL urls)
+    cmnt =
+      case concat (man ++ ve ++ al) of
+        "" -> P.empty
+        cs -> P.pPrint (Comment ("|" ++ cs)) P.$+$ P.text ""
+    man =
+      case urls of
+        [] -> []
+        [_] -> [" Manual page for " ++ links ++ "."]
+        _ -> [" Manual pages for " ++ links ++ "."]
+    ve =
+      [ " The vector equivalent of this command is '" ++ unCommandName v ++ "'."
+      | Just v <- [vecEquiv c]
+      ]
+    al =
+      [ " This command is an alias for '" ++ unCommandName a ++ "'."
+      | Just a <- [alias c]
+      ]
+    renderURL (u, l) = "<" ++ u ++ " " ++ l ++ ">"
+    args = [1 .. length (paramTypes c)] >>= \i -> " v" ++ show i
 
 makeImportDynamic :: String -> String -> String
 makeImportDynamic compactSignature dyn_name =
-  "foreign import CALLCONV \"dynamic\" " ++ dyn_name ++ "\n" ++
-  "  :: FunPtr (" ++ compactSignature ++ ")\n" ++
-  "  ->         " ++ compactSignature ++ "\n"
+  "foreign import CALLCONV \"dynamic\" " ++
+  dyn_name ++
+  "\n" ++
+  "  :: FunPtr (" ++
+  compactSignature ++ ")\n" ++ "  ->         " ++ compactSignature ++ "\n"
 
 showSignatureFromCommand :: Registry -> Command -> Bool -> String
 showSignatureFromCommand registry c withComment =
-  L.intercalate ((if withComment then " " else "") ++ " -> ")
+  L.intercalate
+    ((if withComment
+        then " "
+        else "") ++
+     " -> ")
     ([showSignatureElement registry withComment False t | t <- paramTypes c] ++
      [showSignatureElement registry withComment True (resultType c)])
 
 showSignatureElement :: Registry -> Bool -> Bool -> SignatureElement -> String
 showSignatureElement registry withComment isResult sigElem = el ++ cmnt
-  where el | isResult  = monad ++ " " ++ showsPrec 11 sigElem ""
-           | otherwise = show sigElem
-        monad | withComment = "m"
-              | otherwise = "IO"
-        cmnt | withComment = P.render (showComment registry name sigElem P.$+$ P.text "")
-             | otherwise   = ""
-        name | isResult  = ""
-             | otherwise = signatureElementName sigElem
+  where
+    el
+      | isResult = monad ++ " " ++ showsPrec 11 sigElem ""
+      | otherwise = show sigElem
+    monad
+      | withComment = "m"
+      | otherwise = "IO"
+    cmnt
+      | withComment =
+        P.render (showComment registry name sigElem P.$+$ P.text "")
+      | otherwise = ""
+    name
+      | isResult = ""
+      | otherwise = signatureElementName sigElem
 
 showComment :: Registry -> String -> SignatureElement -> P.Doc
 showComment registry name sigElem
   | null name' && null info = P.text ""
   | otherwise = P.text " " P.<> P.pPrint (Comment ("^" ++ name' ++ info ++ "."))
-
-  where name' | null name = ""
-              | otherwise = " " ++ inlineCode name
-
-        info | isInteresting = elms ++ " of type " ++ hurz
-             | otherwise     = ""
-
+  where
+    name'
+      | null name = ""
+      | otherwise = " " ++ inlineCode name
+    info
+      | isInteresting = elms ++ " of type " ++ hurz
+      | otherwise = ""
         -- Alas, there are tons of group names which are referenced, but never
         -- defined, so we have to leave them without a link.
         -- TODO: Do not use Show instance for SignatureElement.
-        hurz = case belongsToGroup sigElem of
-                 Just gn | numPointer sigElem <= 1 &&
-                           fgn `M.member` groups registry -> linkToGroup fgn
-                   where fgn = fixGroupName gn
-                 _ -> inlineCode (show (base sigElem))
-
-        isInteresting = DM.isJust (arrayLength sigElem) || DM.isJust (belongsToGroup sigElem)
-
-        elms | numPointer sigElem > 0 = " pointing to" ++ len ++ " " ++ elements
-             | otherwise = ""
-
-        elements | arrayLength sigElem == Just "1" = "element"
-                 | otherwise = "elements"
-
-        len = maybe "" (\l -> " " ++ inlineCode l) (arrayLength sigElem)
-
-        base = maybeDeref . maybeSetBaseType
-        maybeDeref e | numPointer e > 0 = e{numPointer = numPointer e - 1}
-                     | otherwise = e
-        maybeSetBaseType e = maybe e (\g -> e{baseType = TypeName (unGroupName g)}) (belongsToGroup e)
+    hurz =
+      case belongsToGroup sigElem of
+        Just gn
+          | numPointer sigElem <= 1 && fgn `M.member` groups registry ->
+            linkToGroup fgn
+          where fgn = fixGroupName gn
+        _ -> inlineCode (show (base sigElem))
+    isInteresting =
+      DM.isJust (arrayLength sigElem) || DM.isJust (belongsToGroup sigElem)
+    elms
+      | numPointer sigElem > 0 = " pointing to" ++ len ++ " " ++ elements
+      | otherwise = ""
+    elements
+      | arrayLength sigElem == Just "1" = "element"
+      | otherwise = "elements"
+    len = maybe "" (\l -> " " ++ inlineCode l) (arrayLength sigElem)
+    base = maybeDeref . maybeSetBaseType
+    maybeDeref e
+      | numPointer e > 0 = e {numPointer = numPointer e - 1}
+      | otherwise = e
+    maybeSetBaseType e =
+      maybe e (\g -> e {baseType = TypeName (unGroupName g)}) (belongsToGroup e)
 
 fixGroupName :: GroupName -> GroupName
 fixGroupName g
@@ -658,8 +921,10 @@
 -- TODO: This is very fragile, but currently there is no clean way to specify
 -- link texts when referencing anchors in Haddock.
 linkToGroup :: GroupName -> String
-linkToGroup g = "[" ++ n ++ "](" ++ htmlFilenameFor ["Groups"] ++ "#" ++ n ++ ")"
-  where n = unGroupName g
+linkToGroup g =
+  "[" ++ n ++ "](" ++ htmlFilenameFor ["Groups"] ++ "#" ++ n ++ ")"
+  where
+    n = unGroupName g
 
 htmlFilenameFor :: [String] -> String
 htmlFilenameFor = (++ ".html") . L.intercalate "-" . moduleNameParts
@@ -669,26 +934,25 @@
 
 -- TODO: Use Either instead of error below?
 toEnumType :: ToEnumType
-toEnumType eNamespace eGroup eType suffix eName = TypeName $
-  case (eNamespace, eGroup, eType, unTypeSuffix `fmap` suffix, eName) of
+toEnumType eNamespace eGroup eType suffix eName =
+  TypeName $
+  case (eNamespace, eGroup, eType, unTypeSuffix `fmap` suffix, eName)
     -- glx.xml
+        of
     (Just "GLXStrings", _, _, _, _) -> "String"
     (Just ('G':'L':'X':_), _, _, _, _) -> "CInt"
-
     -- egl.xml
     -- TODO: EGLenum for EGL_OPENGL_API, EGL_OPENGL_ES_API, EGL_OPENVG_API, EGL_OPENVG_IMAGE?
     (Just ('E':'G':'L':_), _, Nothing, Just "ull", _) -> "EGLTime"
     (Just ('E':'G':'L':_), _, _, _, _) -> "EGLint"
-
     -- wgl.xml
     (Just "WGLLayerPlaneMask", _, _, _, _) -> "UINT"
     (Just "WGLColorBufferMask", _, _, _, _) -> "UINT"
     (Just "WGLContextFlagsMask", _, _, _, _) -> "INT"
     (Just "WGLContextProfileMask", _, _, _, _) -> "INT"
-    (Just "WGLImageBufferMaskI3D" , _, _, _, _) -> "UINT"
+    (Just "WGLImageBufferMaskI3D", _, _, _, _) -> "UINT"
     (Just "WGLDXInteropMaskNV", _, _, _, _) -> "GLenum"
     (Just ('W':'G':'L':_), _, _, _, _) -> "CInt"
-
     -- gl.xml
     (Just "OcclusionQueryEventMaskAMD", _, _, _, _) -> "GLuint"
     (Just "GL", Just "SpecialNumbers", _, _, "GL_FALSE") -> "GLboolean"
@@ -698,39 +962,45 @@
     (Just "GL", _, Nothing, Just "u", _) -> "GLuint"
     (Just "GL", _, Nothing, Just "ull", _) -> "GLuint64"
     (Just "GL", _, Nothing, Nothing, _) -> "GLenum"
-
     (_, _, _, _, _) -> error "can't determine enum type"
 
 isMask :: TypeName -> Bool
 isMask = (== TypeName "GLbitfield")
 
 --------------------------------------------------------------------------------
-
-data Module = Module ModuleName Exports
+data Module =
+  Module ModuleName
+         Exports
 
 instance P.Pretty Module where
-  pPrint (Module mn ex) = P.text "module" P.<+> P.pPrint mn P.<+> ex P.<+> P.text "where\n"
+  pPrint (Module mn ex) =
+    P.text "module" P.<+> P.pPrint mn P.<+> ex P.<+> P.text "where\n"
 
 type Exports = P.Doc
 
-data Import = Import ModuleName ImportSpecs
+data Import =
+  Import ModuleName
+         ImportSpecs
 
 instance P.Pretty Import where
   pPrint (Import mn im) = P.text "import" P.<+> P.pPrint mn P.<+> im
 
 type ImportSpecs = P.Doc
 
-newtype ModuleName = ModuleName String
+newtype ModuleName =
+  ModuleName String
 
 instance P.Pretty ModuleName where
   pPrint (ModuleName m) = P.text m
 
-newtype Comment = Comment String
+newtype Comment =
+  Comment String
 
 instance P.Pretty Comment where
-  pPrint (Comment c) | null c         = P.text "--"
-                     | all (== '-') c = P.pPrint (Comment "") P.<> P.text c
-                     | otherwise      = P.pPrint (Comment "") P.<+> P.text c
+  pPrint (Comment c)
+    | null c = P.text "--"
+    | all (== '-') c = P.pPrint (Comment "") P.<> P.text c
+    | otherwise = P.pPrint (Comment "") P.<+> P.text c
 
 hRender :: P.Pretty a => SI.Handle -> a -> IO ()
 hRender h = SI.hPutStrLn h . P.render . P.pPrint
diff --git a/RegistryProcessor/src/ManPages.hs b/RegistryProcessor/src/ManPages.hs
--- a/RegistryProcessor/src/ManPages.hs
+++ b/RegistryProcessor/src/ManPages.hs
@@ -1,1677 +1,1710 @@
 -- Built via embarrassing grep/sed technology from the XML OpenGL SDK docs at
 -- https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/docs/man[234].
-module ManPages ( manPageURLs ) where
-
-import qualified Data.Map as M
-import MangledRegistry ( API(..), CommandName(..) )
-
-type ManPageKey = (API, CommandName)
-type URL = String
-type Label = String
-
-assocsGL2 :: [(ManPageKey, [(URL, Label)])]
-assocsGL2 =
-  entriesFor "gl" "OpenGL 2.x" "https://www.opengl.org/sdk/docs/man2/xhtml/" ".xml" [
-  ("glAccum", "glAccum"),
-  ("glActiveTexture", "glActiveTexture"),
-  ("glAlphaFunc", "glAlphaFunc"),
-  ("glAreTexturesResident", "glAreTexturesResident"),
-  ("glArrayElement", "glArrayElement"),
-  ("glAttachShader", "glAttachShader"),
-  ("glBeginQuery", "glBeginQuery"),
-  ("glEndQuery", "glBeginQuery"),
-  ("glBegin", "glBegin"),
-  ("glEnd", "glBegin"),
-  ("glBindAttribLocation", "glBindAttribLocation"),
-  ("glBindBuffer", "glBindBuffer"),
-  ("glBindTexture", "glBindTexture"),
-  ("glBitmap", "glBitmap"),
-  ("glBlendColor", "glBlendColor"),
-  ("glBlendEquationSeparate", "glBlendEquationSeparate"),
-  ("glBlendEquation", "glBlendEquation"),
-  ("glBlendFuncSeparate", "glBlendFuncSeparate"),
-  ("glBlendFunc", "glBlendFunc"),
-  ("glBufferData", "glBufferData"),
-  ("glBufferSubData", "glBufferSubData"),
-  ("glCallLists", "glCallLists"),
-  ("glCallList", "glCallList"),
-  ("glClearAccum", "glClearAccum"),
-  ("glClearColor", "glClearColor"),
-  ("glClearDepth", "glClearDepth"),
-  ("glClearIndex", "glClearIndex"),
-  ("glClearStencil", "glClearStencil"),
-  ("glClear", "glClear"),
-  ("glClientActiveTexture", "glClientActiveTexture"),
-  ("glClipPlane", "glClipPlane"),
-  ("glColorMask", "glColorMask"),
-  ("glColorMaterial", "glColorMaterial"),
-  ("glColorPointer", "glColorPointer"),
-  ("glColorSubTable", "glColorSubTable"),
-  ("glColorTableParameterfv", "glColorTableParameter"),
-  ("glColorTableParameteriv", "glColorTableParameter"),
-  ("glColorTable", "glColorTable"),
-  ("glColor3b", "glColor"),
-  ("glColor3s", "glColor"),
-  ("glColor3i", "glColor"),
-  ("glColor3f", "glColor"),
-  ("glColor3d", "glColor"),
-  ("glColor3ub", "glColor"),
-  ("glColor3us", "glColor"),
-  ("glColor3ui", "glColor"),
-  ("glColor4b", "glColor"),
-  ("glColor4s", "glColor"),
-  ("glColor4i", "glColor"),
-  ("glColor4f", "glColor"),
-  ("glColor4d", "glColor"),
-  ("glColor4ub", "glColor"),
-  ("glColor4us", "glColor"),
-  ("glColor4ui", "glColor"),
-  ("glColor3bv", "glColor"),
-  ("glColor3sv", "glColor"),
-  ("glColor3iv", "glColor"),
-  ("glColor3fv", "glColor"),
-  ("glColor3dv", "glColor"),
-  ("glColor3ubv", "glColor"),
-  ("glColor3usv", "glColor"),
-  ("glColor3uiv", "glColor"),
-  ("glColor4bv", "glColor"),
-  ("glColor4sv", "glColor"),
-  ("glColor4iv", "glColor"),
-  ("glColor4fv", "glColor"),
-  ("glColor4dv", "glColor"),
-  ("glColor4ubv", "glColor"),
-  ("glColor4usv", "glColor"),
-  ("glColor4uiv", "glColor"),
-  ("glCompileShader", "glCompileShader"),
-  ("glCompressedTexImage1D", "glCompressedTexImage1D"),
-  ("glCompressedTexImage2D", "glCompressedTexImage2D"),
-  ("glCompressedTexImage3D", "glCompressedTexImage3D"),
-  ("glCompressedTexSubImage1D", "glCompressedTexSubImage1D"),
-  ("glCompressedTexSubImage2D", "glCompressedTexSubImage2D"),
-  ("glCompressedTexSubImage3D", "glCompressedTexSubImage3D"),
-  ("glConvolutionFilter1D", "glConvolutionFilter1D"),
-  ("glConvolutionFilter2D", "glConvolutionFilter2D"),
-  ("glConvolutionParameterf", "glConvolutionParameter"),
-  ("glConvolutionParameteri", "glConvolutionParameter"),
-  ("glConvolutionParameterfv", "glConvolutionParameter"),
-  ("glConvolutionParameteriv", "glConvolutionParameter"),
-  ("glCopyColorSubTable", "glCopyColorSubTable"),
-  ("glCopyColorTable", "glCopyColorTable"),
-  ("glCopyConvolutionFilter1D", "glCopyConvolutionFilter1D"),
-  ("glCopyConvolutionFilter2D", "glCopyConvolutionFilter2D"),
-  ("glCopyPixels", "glCopyPixels"),
-  ("glCopyTexImage1D", "glCopyTexImage1D"),
-  ("glCopyTexImage2D", "glCopyTexImage2D"),
-  ("glCopyTexSubImage1D", "glCopyTexSubImage1D"),
-  ("glCopyTexSubImage2D", "glCopyTexSubImage2D"),
-  ("glCopyTexSubImage3D", "glCopyTexSubImage3D"),
-  ("glCreateProgram", "glCreateProgram"),
-  ("glCreateShader", "glCreateShader"),
-  ("glCullFace", "glCullFace"),
-  ("glDeleteBuffers", "glDeleteBuffers"),
-  ("glDeleteLists", "glDeleteLists"),
-  ("glDeleteProgram", "glDeleteProgram"),
-  ("glDeleteQueries", "glDeleteQueries"),
-  ("glDeleteShader", "glDeleteShader"),
-  ("glDeleteTextures", "glDeleteTextures"),
-  ("glDepthFunc", "glDepthFunc"),
-  ("glDepthMask", "glDepthMask"),
-  ("glDepthRange", "glDepthRange"),
-  ("glDetachShader", "glDetachShader"),
-  ("glDrawArrays", "glDrawArrays"),
-  ("glDrawBuffers", "glDrawBuffers"),
-  ("glDrawBuffer", "glDrawBuffer"),
-  ("glDrawElements", "glDrawElements"),
-  ("glDrawPixels", "glDrawPixels"),
-  ("glDrawRangeElements", "glDrawRangeElements"),
-  ("glEdgeFlagPointer", "glEdgeFlagPointer"),
-  ("glEdgeFlag", "glEdgeFlag"),
-  ("glEdgeFlagv", "glEdgeFlag"),
-  ("glEnableClientState", "glEnableClientState"),
-  ("glDisableClientState", "glEnableClientState"),
-  ("glEnableVertexAttribArray", "glEnableVertexAttribArray"),
-  ("glDisableVertexAttribArray", "glEnableVertexAttribArray"),
-  ("glEnable", "glEnable"),
-  ("glDisable", "glEnable"),
-  ("glEvalCoord1f", "glEvalCoord"),
-  ("glEvalCoord1d", "glEvalCoord"),
-  ("glEvalCoord2f", "glEvalCoord"),
-  ("glEvalCoord2d", "glEvalCoord"),
-  ("glEvalCoord1fv", "glEvalCoord"),
-  ("glEvalCoord1dv", "glEvalCoord"),
-  ("glEvalCoord2fv", "glEvalCoord"),
-  ("glEvalCoord2dv", "glEvalCoord"),
-  ("glEvalMesh1", "glEvalMesh"),
-  ("glEvalMesh2", "glEvalMesh"),
-  ("glEvalPoint1", "glEvalPoint"),
-  ("glEvalPoint2", "glEvalPoint"),
-  ("glFeedbackBuffer", "glFeedbackBuffer"),
-  ("glFinish", "glFinish"),
-  ("glFlush", "glFlush"),
-  ("glFogCoordPointer", "glFogCoordPointer"),
-  ("glFogCoordd", "glFogCoord"),
-  ("glFogCoordf", "glFogCoord"),
-  ("glFogCoorddv", "glFogCoord"),
-  ("glFogCoordfv", "glFogCoord"),
-  ("glFogf", "glFog"),
-  ("glFogi", "glFog"),
-  ("glFogfv", "glFog"),
-  ("glFogiv", "glFog"),
-  ("glFrontFace", "glFrontFace"),
-  ("glFrustum", "glFrustum"),
-  ("glGenBuffers", "glGenBuffers"),
-  ("glGenLists", "glGenLists"),
-  ("glGenQueries", "glGenQueries"),
-  ("glGenTextures", "glGenTextures"),
-  ("glGetActiveAttrib", "glGetActiveAttrib"),
-  ("glGetActiveUniform", "glGetActiveUniform"),
-  ("glGetAttachedShaders", "glGetAttachedShaders"),
-  ("glGetAttribLocation", "glGetAttribLocation"),
-  ("glGetBufferParameteriv", "glGetBufferParameteriv"),
-  ("glGetBufferPointerv", "glGetBufferPointerv"),
-  ("glGetBufferSubData", "glGetBufferSubData"),
-  ("glGetClipPlane", "glGetClipPlane"),
-  ("glGetColorTableParameterfv", "glGetColorTableParameter"),
-  ("glGetColorTableParameteriv", "glGetColorTableParameter"),
-  ("glGetColorTable", "glGetColorTable"),
-  ("glGetCompressedTexImage", "glGetCompressedTexImage"),
-  ("glGetConvolutionFilter", "glGetConvolutionFilter"),
-  ("glGetConvolutionParameterfv", "glGetConvolutionParameter"),
-  ("glGetConvolutionParameteriv", "glGetConvolutionParameter"),
-  ("glGetError", "glGetError"),
-  ("glGetHistogramParameterfv", "glGetHistogramParameter"),
-  ("glGetHistogramParameteriv", "glGetHistogramParameter"),
-  ("glGetHistogram", "glGetHistogram"),
-  ("glGetLightfv", "glGetLight"),
-  ("glGetLightiv", "glGetLight"),
-  ("glGetMapdv", "glGetMap"),
-  ("glGetMapfv", "glGetMap"),
-  ("glGetMapiv", "glGetMap"),
-  ("glGetMaterialfv", "glGetMaterial"),
-  ("glGetMaterialiv", "glGetMaterial"),
-  ("glGetMinmaxParameterfv", "glGetMinmaxParameter"),
-  ("glGetMinmaxParameteriv", "glGetMinmaxParameter"),
-  ("glGetMinmax", "glGetMinmax"),
-  ("glGetPixelMapfv", "glGetPixelMap"),
-  ("glGetPixelMapuiv", "glGetPixelMap"),
-  ("glGetPixelMapusv", "glGetPixelMap"),
-  ("glGetPointerv", "glGetPointerv"),
-  ("glGetPolygonStipple", "glGetPolygonStipple"),
-  ("glGetProgramInfoLog", "glGetProgramInfoLog"),
-  ("glGetProgramiv", "glGetProgram"),
-  ("glGetQueryiv", "glGetQueryiv"),
-  ("glGetQueryObjectiv", "glGetQueryObject"),
-  ("glGetQueryObjectuiv", "glGetQueryObject"),
-  ("glGetSeparableFilter", "glGetSeparableFilter"),
-  ("glGetShaderInfoLog", "glGetShaderInfoLog"),
-  ("glGetShaderSource", "glGetShaderSource"),
-  ("glGetShaderiv", "glGetShader"),
-  ("glGetString", "glGetString"),
-  ("glGetTexEnvfv", "glGetTexEnv"),
-  ("glGetTexEnviv", "glGetTexEnv"),
-  ("glGetTexGendv", "glGetTexGen"),
-  ("glGetTexGenfv", "glGetTexGen"),
-  ("glGetTexGeniv", "glGetTexGen"),
-  ("glGetTexImage", "glGetTexImage"),
-  ("glGetTexLevelParameterfv", "glGetTexLevelParameter"),
-  ("glGetTexLevelParameteriv", "glGetTexLevelParameter"),
-  ("glGetTexParameterfv", "glGetTexParameter"),
-  ("glGetTexParameteriv", "glGetTexParameter"),
-  ("glGetUniformLocation", "glGetUniformLocation"),
-  ("glGetUniformfv", "glGetUniform"),
-  ("glGetUniformiv", "glGetUniform"),
-  ("glGetVertexAttribPointerv", "glGetVertexAttribPointerv"),
-  ("glGetVertexAttribdv", "glGetVertexAttrib"),
-  ("glGetVertexAttribfv", "glGetVertexAttrib"),
-  ("glGetVertexAttribiv", "glGetVertexAttrib"),
-  ("glGetBooleanv", "glGet"),
-  ("glGetDoublev", "glGet"),
-  ("glGetFloatv", "glGet"),
-  ("glGetIntegerv", "glGet"),
-  ("glHint", "glHint"),
-  ("glHistogram", "glHistogram"),
-  ("glIndexMask", "glIndexMask"),
-  ("glIndexPointer", "glIndexPointer"),
-  ("glIndexs", "glIndex"),
-  ("glIndexi", "glIndex"),
-  ("glIndexf", "glIndex"),
-  ("glIndexd", "glIndex"),
-  ("glIndexub", "glIndex"),
-  ("glIndexsv", "glIndex"),
-  ("glIndexiv", "glIndex"),
-  ("glIndexfv", "glIndex"),
-  ("glIndexdv", "glIndex"),
-  ("glIndexubv", "glIndex"),
-  ("glInitNames", "glInitNames"),
-  ("glInterleavedArrays", "glInterleavedArrays"),
-  ("glIsBuffer", "glIsBuffer"),
-  ("glIsEnabled", "glIsEnabled"),
-  ("glIsList", "glIsList"),
-  ("glIsProgram", "glIsProgram"),
-  ("glIsQuery", "glIsQuery"),
-  ("glIsShader", "glIsShader"),
-  ("glIsTexture", "glIsTexture"),
-  ("glLightModelf", "glLightModel"),
-  ("glLightModeli", "glLightModel"),
-  ("glLightModelfv", "glLightModel"),
-  ("glLightModeliv", "glLightModel"),
-  ("glLightf", "glLight"),
-  ("glLighti", "glLight"),
-  ("glLightfv", "glLight"),
-  ("glLightiv", "glLight"),
-  ("glLineStipple", "glLineStipple"),
-  ("glLineWidth", "glLineWidth"),
-  ("glLinkProgram", "glLinkProgram"),
-  ("glListBase", "glListBase"),
-  ("glLoadIdentity", "glLoadIdentity"),
-  ("glLoadMatrixd", "glLoadMatrix"),
-  ("glLoadMatrixf", "glLoadMatrix"),
-  ("glLoadName", "glLoadName"),
-  ("glLoadTransposeMatrixd", "glLoadTransposeMatrix"),
-  ("glLoadTransposeMatrixf", "glLoadTransposeMatrix"),
-  ("glLogicOp", "glLogicOp"),
-  ("glMap1f", "glMap1"),
-  ("glMap1d", "glMap1"),
-  ("glMap2f", "glMap2"),
-  ("glMap2d", "glMap2"),
-  ("glMapBuffer", "glMapBuffer"),
-  ("glUnmapBuffer", "glMapBuffer"),
-  ("glMapGrid1d", "glMapGrid"),
-  ("glMapGrid1f", "glMapGrid"),
-  ("glMapGrid2d", "glMapGrid"),
-  ("glMapGrid2f", "glMapGrid"),
-  ("glMaterialf", "glMaterial"),
-  ("glMateriali", "glMaterial"),
-  ("glMaterialfv", "glMaterial"),
-  ("glMaterialiv", "glMaterial"),
-  ("glMatrixMode", "glMatrixMode"),
-  ("glMinmax", "glMinmax"),
-  ("glMultiDrawArrays", "glMultiDrawArrays"),
-  ("glMultiDrawElements", "glMultiDrawElements"),
-  ("glMultiTexCoord1s", "glMultiTexCoord"),
-  ("glMultiTexCoord1i", "glMultiTexCoord"),
-  ("glMultiTexCoord1f", "glMultiTexCoord"),
-  ("glMultiTexCoord1d", "glMultiTexCoord"),
-  ("glMultiTexCoord2s", "glMultiTexCoord"),
-  ("glMultiTexCoord2i", "glMultiTexCoord"),
-  ("glMultiTexCoord2f", "glMultiTexCoord"),
-  ("glMultiTexCoord2d", "glMultiTexCoord"),
-  ("glMultiTexCoord3s", "glMultiTexCoord"),
-  ("glMultiTexCoord3i", "glMultiTexCoord"),
-  ("glMultiTexCoord3f", "glMultiTexCoord"),
-  ("glMultiTexCoord3d", "glMultiTexCoord"),
-  ("glMultiTexCoord4s", "glMultiTexCoord"),
-  ("glMultiTexCoord4i", "glMultiTexCoord"),
-  ("glMultiTexCoord4f", "glMultiTexCoord"),
-  ("glMultiTexCoord4d", "glMultiTexCoord"),
-  ("glMultiTexCoord1sv", "glMultiTexCoord"),
-  ("glMultiTexCoord1iv", "glMultiTexCoord"),
-  ("glMultiTexCoord1fv", "glMultiTexCoord"),
-  ("glMultiTexCoord1dv", "glMultiTexCoord"),
-  ("glMultiTexCoord2sv", "glMultiTexCoord"),
-  ("glMultiTexCoord2iv", "glMultiTexCoord"),
-  ("glMultiTexCoord2fv", "glMultiTexCoord"),
-  ("glMultiTexCoord2dv", "glMultiTexCoord"),
-  ("glMultiTexCoord3sv", "glMultiTexCoord"),
-  ("glMultiTexCoord3iv", "glMultiTexCoord"),
-  ("glMultiTexCoord3fv", "glMultiTexCoord"),
-  ("glMultiTexCoord3dv", "glMultiTexCoord"),
-  ("glMultiTexCoord4sv", "glMultiTexCoord"),
-  ("glMultiTexCoord4iv", "glMultiTexCoord"),
-  ("glMultiTexCoord4fv", "glMultiTexCoord"),
-  ("glMultiTexCoord4dv", "glMultiTexCoord"),
-  ("glMultMatrixd", "glMultMatrix"),
-  ("glMultMatrixf", "glMultMatrix"),
-  ("glMultTransposeMatrixd", "glMultTransposeMatrix"),
-  ("glMultTransposeMatrixf", "glMultTransposeMatrix"),
-  ("glNewList", "glNewList"),
-  ("glEndList", "glNewList"),
-  ("glNormalPointer", "glNormalPointer"),
-  ("glNormal3b", "glNormal"),
-  ("glNormal3d", "glNormal"),
-  ("glNormal3f", "glNormal"),
-  ("glNormal3i", "glNormal"),
-  ("glNormal3s", "glNormal"),
-  ("glNormal3bv", "glNormal"),
-  ("glNormal3dv", "glNormal"),
-  ("glNormal3fv", "glNormal"),
-  ("glNormal3iv", "glNormal"),
-  ("glNormal3sv", "glNormal"),
-  ("glOrtho", "glOrtho"),
-  ("glPassThrough", "glPassThrough"),
-  ("glPixelMapfv", "glPixelMap"),
-  ("glPixelMapuiv", "glPixelMap"),
-  ("glPixelMapusv", "glPixelMap"),
-  ("glPixelStoref", "glPixelStore"),
-  ("glPixelStorei", "glPixelStore"),
-  ("glPixelTransferf", "glPixelTransfer"),
-  ("glPixelTransferi", "glPixelTransfer"),
-  ("glPixelZoom", "glPixelZoom"),
-  ("glPointParameterf", "glPointParameter"),
-  ("glPointParameteri", "glPointParameter"),
-  ("glPointParameterfv", "glPointParameter"),
-  ("glPointParameteriv", "glPointParameter"),
-  ("glPointSize", "glPointSize"),
-  ("glPolygonMode", "glPolygonMode"),
-  ("glPolygonOffset", "glPolygonOffset"),
-  ("glPolygonStipple", "glPolygonStipple"),
-  ("glPrioritizeTextures", "glPrioritizeTextures"),
-  ("glPushAttrib", "glPushAttrib"),
-  ("glPopAttrib", "glPushAttrib"),
-  ("glPushClientAttrib", "glPushClientAttrib"),
-  ("glPopClientAttrib", "glPushClientAttrib"),
-  ("glPushMatrix", "glPushMatrix"),
-  ("glPopMatrix", "glPushMatrix"),
-  ("glPushName", "glPushName"),
-  ("glPopName", "glPushName"),
-  ("glRasterPos2s", "glRasterPos"),
-  ("glRasterPos2i", "glRasterPos"),
-  ("glRasterPos2f", "glRasterPos"),
-  ("glRasterPos2d", "glRasterPos"),
-  ("glRasterPos3s", "glRasterPos"),
-  ("glRasterPos3i", "glRasterPos"),
-  ("glRasterPos3f", "glRasterPos"),
-  ("glRasterPos3d", "glRasterPos"),
-  ("glRasterPos4s", "glRasterPos"),
-  ("glRasterPos4i", "glRasterPos"),
-  ("glRasterPos4f", "glRasterPos"),
-  ("glRasterPos4d", "glRasterPos"),
-  ("glRasterPos2sv", "glRasterPos"),
-  ("glRasterPos2iv", "glRasterPos"),
-  ("glRasterPos2fv", "glRasterPos"),
-  ("glRasterPos2dv", "glRasterPos"),
-  ("glRasterPos3sv", "glRasterPos"),
-  ("glRasterPos3iv", "glRasterPos"),
-  ("glRasterPos3fv", "glRasterPos"),
-  ("glRasterPos3dv", "glRasterPos"),
-  ("glRasterPos4sv", "glRasterPos"),
-  ("glRasterPos4iv", "glRasterPos"),
-  ("glRasterPos4fv", "glRasterPos"),
-  ("glRasterPos4dv", "glRasterPos"),
-  ("glReadBuffer", "glReadBuffer"),
-  ("glReadPixels", "glReadPixels"),
-  ("glRectd", "glRect"),
-  ("glRectf", "glRect"),
-  ("glRecti", "glRect"),
-  ("glRects", "glRect"),
-  ("glRectdv", "glRect"),
-  ("glRectfv", "glRect"),
-  ("glRectiv", "glRect"),
-  ("glRectsv", "glRect"),
-  ("glRenderMode", "glRenderMode"),
-  ("glResetHistogram", "glResetHistogram"),
-  ("glResetMinmax", "glResetMinmax"),
-  ("glRotated", "glRotate"),
-  ("glRotatef", "glRotate"),
-  ("glSampleCoverage", "glSampleCoverage"),
-  ("glScaled", "glScale"),
-  ("glScalef", "glScale"),
-  ("glScissor", "glScissor"),
-  ("glSecondaryColorPointer", "glSecondaryColorPointer"),
-  ("glSecondaryColor3b", "glSecondaryColor"),
-  ("glSecondaryColor3s", "glSecondaryColor"),
-  ("glSecondaryColor3i", "glSecondaryColor"),
-  ("glSecondaryColor3f", "glSecondaryColor"),
-  ("glSecondaryColor3d", "glSecondaryColor"),
-  ("glSecondaryColor3ub", "glSecondaryColor"),
-  ("glSecondaryColor3us", "glSecondaryColor"),
-  ("glSecondaryColor3ui", "glSecondaryColor"),
-  ("glSecondaryColor3bv", "glSecondaryColor"),
-  ("glSecondaryColor3sv", "glSecondaryColor"),
-  ("glSecondaryColor3iv", "glSecondaryColor"),
-  ("glSecondaryColor3fv", "glSecondaryColor"),
-  ("glSecondaryColor3dv", "glSecondaryColor"),
-  ("glSecondaryColor3ubv", "glSecondaryColor"),
-  ("glSecondaryColor3usv", "glSecondaryColor"),
-  ("glSecondaryColor3uiv", "glSecondaryColor"),
-  ("glSelectBuffer", "glSelectBuffer"),
-  ("glSeparableFilter2D", "glSeparableFilter2D"),
-  ("glShadeModel", "glShadeModel"),
-  ("glShaderSource", "glShaderSource"),
-  ("glStencilFuncSeparate", "glStencilFuncSeparate"),
-  ("glStencilFunc", "glStencilFunc"),
-  ("glStencilMaskSeparate", "glStencilMaskSeparate"),
-  ("glStencilMask", "glStencilMask"),
-  ("glStencilOpSeparate", "glStencilOpSeparate"),
-  ("glStencilOp", "glStencilOp"),
-  ("glTexCoordPointer", "glTexCoordPointer"),
-  ("glTexCoord1s", "glTexCoord"),
-  ("glTexCoord1i", "glTexCoord"),
-  ("glTexCoord1f", "glTexCoord"),
-  ("glTexCoord1d", "glTexCoord"),
-  ("glTexCoord2s", "glTexCoord"),
-  ("glTexCoord2i", "glTexCoord"),
-  ("glTexCoord2f", "glTexCoord"),
-  ("glTexCoord2d", "glTexCoord"),
-  ("glTexCoord3s", "glTexCoord"),
-  ("glTexCoord3i", "glTexCoord"),
-  ("glTexCoord3f", "glTexCoord"),
-  ("glTexCoord3d", "glTexCoord"),
-  ("glTexCoord4s", "glTexCoord"),
-  ("glTexCoord4i", "glTexCoord"),
-  ("glTexCoord4f", "glTexCoord"),
-  ("glTexCoord4d", "glTexCoord"),
-  ("glTexCoord1sv", "glTexCoord"),
-  ("glTexCoord1iv", "glTexCoord"),
-  ("glTexCoord1fv", "glTexCoord"),
-  ("glTexCoord1dv", "glTexCoord"),
-  ("glTexCoord2sv", "glTexCoord"),
-  ("glTexCoord2iv", "glTexCoord"),
-  ("glTexCoord2fv", "glTexCoord"),
-  ("glTexCoord2dv", "glTexCoord"),
-  ("glTexCoord3sv", "glTexCoord"),
-  ("glTexCoord3iv", "glTexCoord"),
-  ("glTexCoord3fv", "glTexCoord"),
-  ("glTexCoord3dv", "glTexCoord"),
-  ("glTexCoord4sv", "glTexCoord"),
-  ("glTexCoord4iv", "glTexCoord"),
-  ("glTexCoord4fv", "glTexCoord"),
-  ("glTexCoord4dv", "glTexCoord"),
-  ("glTexEnvf", "glTexEnv"),
-  ("glTexEnvi", "glTexEnv"),
-  ("glTexEnvfv", "glTexEnv"),
-  ("glTexEnviv", "glTexEnv"),
-  ("glTexGeni", "glTexGen"),
-  ("glTexGenf", "glTexGen"),
-  ("glTexGend", "glTexGen"),
-  ("glTexGeniv", "glTexGen"),
-  ("glTexGenfv", "glTexGen"),
-  ("glTexGendv", "glTexGen"),
-  ("glTexImage1D", "glTexImage1D"),
-  ("glTexImage2D", "glTexImage2D"),
-  ("glTexImage3D", "glTexImage3D"),
-  ("glTexParameterf", "glTexParameter"),
-  ("glTexParameteri", "glTexParameter"),
-  ("glTexParameterfv", "glTexParameter"),
-  ("glTexParameteriv", "glTexParameter"),
-  ("glTexSubImage1D", "glTexSubImage1D"),
-  ("glTexSubImage2D", "glTexSubImage2D"),
-  ("glTexSubImage3D", "glTexSubImage3D"),
-  ("glTranslated", "glTranslate"),
-  ("glTranslatef", "glTranslate"),
-  ("gluBeginCurve", "gluBeginCurve"),
-  ("gluEndCurve", "gluBeginCurve"),
-  ("gluBeginPolygon", "gluBeginPolygon"),
-  ("gluEndPolygon", "gluBeginPolygon"),
-  ("gluBeginSurface", "gluBeginSurface"),
-  ("gluEndSurface", "gluBeginSurface"),
-  ("gluBeginTrim", "gluBeginTrim"),
-  ("gluEndTrim", "gluBeginTrim"),
-  ("gluBuild1DMipmapLevels", "gluBuild1DMipmapLevels"),
-  ("gluBuild1DMipmaps", "gluBuild1DMipmaps"),
-  ("gluBuild2DMipmapLevels", "gluBuild2DMipmapLevels"),
-  ("gluBuild2DMipmaps", "gluBuild2DMipmaps"),
-  ("gluBuild3DMipmapLevels", "gluBuild3DMipmapLevels"),
-  ("gluBuild3DMipmaps", "gluBuild3DMipmaps"),
-  ("gluCheckExtension", "gluCheckExtension"),
-  ("gluCylinder", "gluCylinder"),
-  ("gluDeleteNurbsRenderer", "gluDeleteNurbsRenderer"),
-  ("gluDeleteQuadric", "gluDeleteQuadric"),
-  ("gluDeleteTess", "gluDeleteTess"),
-  ("gluDisk", "gluDisk"),
-  ("gluErrorString", "gluErrorString"),
-  ("gluGetNurbsProperty", "gluGetNurbsProperty"),
-  ("gluGetString", "gluGetString"),
-  ("gluGetTessProperty", "gluGetTessProperty"),
-  ("gluLoadSamplingMatrices", "gluLoadSamplingMatrices"),
-  ("gluLookAt", "gluLookAt"),
-  ("gluNewNurbsRenderer", "gluNewNurbsRenderer"),
-  ("gluNewQuadric", "gluNewQuadric"),
-  ("gluNewTess", "gluNewTess"),
-  ("gluNextContour", "gluNextContour"),
-  ("glUniform1f", "glUniform"),
-  ("glUniform2f", "glUniform"),
-  ("glUniform3f", "glUniform"),
-  ("glUniform4f", "glUniform"),
-  ("glUniform1i", "glUniform"),
-  ("glUniform2i", "glUniform"),
-  ("glUniform3i", "glUniform"),
-  ("glUniform4i", "glUniform"),
-  ("glUniform1fv", "glUniform"),
-  ("glUniform2fv", "glUniform"),
-  ("glUniform3fv", "glUniform"),
-  ("glUniform4fv", "glUniform"),
-  ("glUniform1iv", "glUniform"),
-  ("glUniform2iv", "glUniform"),
-  ("glUniform3iv", "glUniform"),
-  ("glUniform4iv", "glUniform"),
-  ("glUniformMatrix2fv", "glUniform"),
-  ("glUniformMatrix3fv", "glUniform"),
-  ("glUniformMatrix4fv", "glUniform"),
-  ("glUniformMatrix2x3fv", "glUniform"),
-  ("glUniformMatrix3x2fv", "glUniform"),
-  ("glUniformMatrix2x4fv", "glUniform"),
-  ("glUniformMatrix4x2fv", "glUniform"),
-  ("glUniformMatrix3x4fv", "glUniform"),
-  ("glUniformMatrix4x3fv", "glUniform"),
-  ("gluNurbsCallbackDataEXT", "gluNurbsCallbackDataEXT"),
-  ("gluNurbsCallbackData", "gluNurbsCallbackData"),
-  ("gluNurbsCallback", "gluNurbsCallback"),
-  ("gluNurbsCurve", "gluNurbsCurve"),
-  ("gluNurbsProperty", "gluNurbsProperty"),
-  ("gluNurbsSurface", "gluNurbsSurface"),
-  ("gluOrtho2D", "gluOrtho2D"),
-  ("gluPartialDisk", "gluPartialDisk"),
-  ("gluPerspective", "gluPerspective"),
-  ("gluPickMatrix", "gluPickMatrix"),
-  ("gluProject", "gluProject"),
-  ("gluPwlCurve", "gluPwlCurve"),
-  ("gluQuadricCallback", "gluQuadricCallback"),
-  ("gluQuadricDrawStyle", "gluQuadricDrawStyle"),
-  ("gluQuadricNormals", "gluQuadricNormals"),
-  ("gluQuadricOrientation", "gluQuadricOrientation"),
-  ("gluQuadricTexture", "gluQuadricTexture"),
-  ("gluScaleImage", "gluScaleImage"),
-  ("glUseProgram", "glUseProgram"),
-  ("gluSphere", "gluSphere"),
-  ("gluTessBeginContour", "gluTessBeginContour"),
-  ("gluTessEndContour", "gluTessBeginContour"),
-  ("gluTessBeginPolygon", "gluTessBeginPolygon"),
-  ("gluTessCallback", "gluTessCallback"),
-  ("gluTessEndPolygon", "gluTessEndPolygon"),
-  ("gluTessNormal", "gluTessNormal"),
-  ("gluTessProperty", "gluTessProperty"),
-  ("gluTessVertex", "gluTessVertex"),
-  ("gluUnProject4", "gluUnProject4"),
-  ("gluUnProject", "gluUnProject"),
-  ("glValidateProgram", "glValidateProgram"),
-  ("glVertexAttribPointer", "glVertexAttribPointer"),
-  ("glVertexAttrib1f", "glVertexAttrib"),
-  ("glVertexAttrib1s", "glVertexAttrib"),
-  ("glVertexAttrib1d", "glVertexAttrib"),
-  ("glVertexAttrib2f", "glVertexAttrib"),
-  ("glVertexAttrib2s", "glVertexAttrib"),
-  ("glVertexAttrib2d", "glVertexAttrib"),
-  ("glVertexAttrib3f", "glVertexAttrib"),
-  ("glVertexAttrib3s", "glVertexAttrib"),
-  ("glVertexAttrib3d", "glVertexAttrib"),
-  ("glVertexAttrib4f", "glVertexAttrib"),
-  ("glVertexAttrib4s", "glVertexAttrib"),
-  ("glVertexAttrib4d", "glVertexAttrib"),
-  ("glVertexAttrib4Nub", "glVertexAttrib"),
-  ("glVertexAttrib1fv", "glVertexAttrib"),
-  ("glVertexAttrib1sv", "glVertexAttrib"),
-  ("glVertexAttrib1dv", "glVertexAttrib"),
-  ("glVertexAttrib2fv", "glVertexAttrib"),
-  ("glVertexAttrib2sv", "glVertexAttrib"),
-  ("glVertexAttrib2dv", "glVertexAttrib"),
-  ("glVertexAttrib3fv", "glVertexAttrib"),
-  ("glVertexAttrib3sv", "glVertexAttrib"),
-  ("glVertexAttrib3dv", "glVertexAttrib"),
-  ("glVertexAttrib4fv", "glVertexAttrib"),
-  ("glVertexAttrib4sv", "glVertexAttrib"),
-  ("glVertexAttrib4dv", "glVertexAttrib"),
-  ("glVertexAttrib4iv", "glVertexAttrib"),
-  ("glVertexAttrib4bv", "glVertexAttrib"),
-  ("glVertexAttrib4ubv", "glVertexAttrib"),
-  ("glVertexAttrib4usv", "glVertexAttrib"),
-  ("glVertexAttrib4uiv", "glVertexAttrib"),
-  ("glVertexAttrib4Nbv", "glVertexAttrib"),
-  ("glVertexAttrib4Nsv", "glVertexAttrib"),
-  ("glVertexAttrib4Niv", "glVertexAttrib"),
-  ("glVertexAttrib4Nubv", "glVertexAttrib"),
-  ("glVertexAttrib4Nusv", "glVertexAttrib"),
-  ("glVertexAttrib4Nuiv", "glVertexAttrib"),
-  ("glVertexPointer", "glVertexPointer"),
-  ("glVertex2s", "glVertex"),
-  ("glVertex2i", "glVertex"),
-  ("glVertex2f", "glVertex"),
-  ("glVertex2d", "glVertex"),
-  ("glVertex3s", "glVertex"),
-  ("glVertex3i", "glVertex"),
-  ("glVertex3f", "glVertex"),
-  ("glVertex3d", "glVertex"),
-  ("glVertex4s", "glVertex"),
-  ("glVertex4i", "glVertex"),
-  ("glVertex4f", "glVertex"),
-  ("glVertex4d", "glVertex"),
-  ("glVertex2sv", "glVertex"),
-  ("glVertex2iv", "glVertex"),
-  ("glVertex2fv", "glVertex"),
-  ("glVertex2dv", "glVertex"),
-  ("glVertex3sv", "glVertex"),
-  ("glVertex3iv", "glVertex"),
-  ("glVertex3fv", "glVertex"),
-  ("glVertex3dv", "glVertex"),
-  ("glVertex4sv", "glVertex"),
-  ("glVertex4iv", "glVertex"),
-  ("glVertex4fv", "glVertex"),
-  ("glVertex4dv", "glVertex"),
-  ("glViewport", "glViewport"),
-  ("glWindowPos2s", "glWindowPos"),
-  ("glWindowPos2i", "glWindowPos"),
-  ("glWindowPos2f", "glWindowPos"),
-  ("glWindowPos2d", "glWindowPos"),
-  ("glWindowPos3s", "glWindowPos"),
-  ("glWindowPos3i", "glWindowPos"),
-  ("glWindowPos3f", "glWindowPos"),
-  ("glWindowPos3d", "glWindowPos"),
-  ("glWindowPos2sv", "glWindowPos"),
-  ("glWindowPos2iv", "glWindowPos"),
-  ("glWindowPos2fv", "glWindowPos"),
-  ("glWindowPos2dv", "glWindowPos"),
-  ("glWindowPos3sv", "glWindowPos"),
-  ("glWindowPos3iv", "glWindowPos"),
-  ("glWindowPos3fv", "glWindowPos"),
-  ("glWindowPos3dv", "glWindowPos")
-  ]
-
-assocsGLX1 :: [(ManPageKey, [(URL, Label)])]
-assocsGLX1 =
-  entriesFor "glx" "GLX 1.x" "https://www.opengl.org/sdk/docs/man2/xhtml/" ".xml" [
-  ("glXChooseFBConfig", "glXChooseFBConfig"),
-  ("glXChooseVisual", "glXChooseVisual"),
-  ("glXCopyContext", "glXCopyContext"),
-  ("glXCreateContext", "glXCreateContext"),
-  ("glXCreateGLXPixmap", "glXCreateGLXPixmap"),
-  ("glXCreateNewContext", "glXCreateNewContext"),
-  ("glXCreatePbuffer", "glXCreatePbuffer"),
-  ("glXCreatePixmap", "glXCreatePixmap"),
-  ("glXCreateWindow", "glXCreateWindow"),
-  ("glXDestroyContext", "glXDestroyContext"),
-  ("glXDestroyGLXPixmap", "glXDestroyGLXPixmap"),
-  ("glXDestroyPbuffer", "glXDestroyPbuffer"),
-  ("glXDestroyPixmap", "glXDestroyPixmap"),
-  ("glXDestroyWindow", "glXDestroyWindow"),
-  ("glXFreeContextEXT", "glXFreeContextEXT"),
-  ("glXGetClientString", "glXGetClientString"),
-  ("glXGetConfig", "glXGetConfig"),
-  ("glXGetContextIDEXT", "glXGetContextIDEXT"),
-  ("glXGetCurrentContext", "glXGetCurrentContext"),
-  ("glXGetCurrentDisplay", "glXGetCurrentDisplay"),
-  ("glXGetCurrentDrawable", "glXGetCurrentDrawable"),
-  ("glXGetCurrentReadDrawable", "glXGetCurrentReadDrawable"),
-  ("glXGetFBConfigAttrib", "glXGetFBConfigAttrib"),
-  ("glXGetFBConfigs", "glXGetFBConfigs"),
-  ("glXGetProcAddress", "glXGetProcAddress"),
-  ("glXGetSelectedEvent", "glXGetSelectedEvent"),
-  ("glXGetVisualFromFBConfig", "glXGetVisualFromFBConfig"),
-  ("glXImportContextEXT", "glXImportContextEXT"),
-  ("glXIsDirect", "glXIsDirect"),
-  ("glXMakeContextCurrent", "glXMakeContextCurrent"),
-  ("glXMakeCurrent", "glXMakeCurrent"),
-  ("glXQueryContextInfoEXT", "glXQueryContextInfoEXT"),
-  ("glXQueryContext", "glXQueryContext"),
-  ("glXQueryDrawable", "glXQueryDrawable"),
-  ("glXQueryExtensionsString", "glXQueryExtensionsString"),
-  ("glXQueryExtension", "glXQueryExtension"),
-  ("glXQueryServerString", "glXQueryServerString"),
-  ("glXQueryVersion", "glXQueryVersion"),
-  ("glXSelectEvent", "glXSelectEvent"),
-  ("glXSwapBuffers", "glXSwapBuffers"),
-  ("glXUseXFont", "glXUseXFont"),
-  ("glXWaitGL", "glXWaitGL"),
-  ("glXWaitX", "glXWaitX")
-  ]
-
-assocsGL3 :: [(ManPageKey, [(URL, Label)])]
-assocsGL3 =
-  entriesFor "gl" "OpenGL 3.x" "https://www.opengl.org/sdk/docs/man3/xhtml/" ".xml" [
-  ("glActiveTexture", "glActiveTexture"),
-  ("glAttachShader", "glAttachShader"),
-  ("glBeginConditionalRender", "glBeginConditionalRender"),
-  ("glEndConditionalRender", "glBeginConditionalRender"),
-  ("glBeginQuery", "glBeginQuery"),
-  ("glEndQuery", "glBeginQuery"),
-  ("glBeginTransformFeedback", "glBeginTransformFeedback"),
-  ("glEndTransformFeedback", "glBeginTransformFeedback"),
-  ("glBindAttribLocation", "glBindAttribLocation"),
-  ("glBindBufferBase", "glBindBufferBase"),
-  ("glBindBufferRange", "glBindBufferRange"),
-  ("glBindBuffer", "glBindBuffer"),
-  ("glBindFragDataLocationIndexed", "glBindFragDataLocationIndexed"),
-  ("glBindFragDataLocation", "glBindFragDataLocation"),
-  ("glBindFramebuffer", "glBindFramebuffer"),
-  ("glBindRenderbuffer", "glBindRenderbuffer"),
-  ("glBindSampler", "glBindSampler"),
-  ("glBindTexture", "glBindTexture"),
-  ("glBindVertexArray", "glBindVertexArray"),
-  ("glBlendColor", "glBlendColor"),
-  ("glBlendEquationSeparate", "glBlendEquationSeparate"),
-  ("glBlendEquation", "glBlendEquation"),
-  ("glBlendFuncSeparate", "glBlendFuncSeparate"),
-  ("glBlendFunc", "glBlendFunc"),
-  ("glBlitFramebuffer", "glBlitFramebuffer"),
-  ("glBufferData", "glBufferData"),
-  ("glBufferSubData", "glBufferSubData"),
-  ("glCheckFramebufferStatus", "glCheckFramebufferStatus"),
-  ("glClampColor", "glClampColor"),
-  ("glClearBufferiv", "glClearBuffer"),
-  ("glClearBufferuiv", "glClearBuffer"),
-  ("glClearBufferfv", "glClearBuffer"),
-  ("glClearBufferfi", "glClearBuffer"),
-  ("glClearColor", "glClearColor"),
-  ("glClearDepth", "glClearDepth"),
-  ("glClearStencil", "glClearStencil"),
-  ("glClear", "glClear"),
-  ("glClientWaitSync", "glClientWaitSync"),
-  ("glColorMask", "glColorMask"),
-  ("glColorMaski", "glColorMask"),
-  ("glCompileShader", "glCompileShader"),
-  ("glCompressedTexImage1D", "glCompressedTexImage1D"),
-  ("glCompressedTexImage2D", "glCompressedTexImage2D"),
-  ("glCompressedTexImage3D", "glCompressedTexImage3D"),
-  ("glCompressedTexSubImage1D", "glCompressedTexSubImage1D"),
-  ("glCompressedTexSubImage2D", "glCompressedTexSubImage2D"),
-  ("glCompressedTexSubImage3D", "glCompressedTexSubImage3D"),
-  ("glCopyBufferSubData", "glCopyBufferSubData"),
-  ("glCopyTexImage1D", "glCopyTexImage1D"),
-  ("glCopyTexImage2D", "glCopyTexImage2D"),
-  ("glCopyTexSubImage1D", "glCopyTexSubImage1D"),
-  ("glCopyTexSubImage2D", "glCopyTexSubImage2D"),
-  ("glCopyTexSubImage3D", "glCopyTexSubImage3D"),
-  ("glCreateProgram", "glCreateProgram"),
-  ("glCreateShader", "glCreateShader"),
-  ("glCullFace", "glCullFace"),
-  ("glDeleteBuffers", "glDeleteBuffers"),
-  ("glDeleteFramebuffers", "glDeleteFramebuffers"),
-  ("glDeleteProgram", "glDeleteProgram"),
-  ("glDeleteQueries", "glDeleteQueries"),
-  ("glDeleteRenderbuffers", "glDeleteRenderbuffers"),
-  ("glDeleteSamplers", "glDeleteSamplers"),
-  ("glDeleteShader", "glDeleteShader"),
-  ("glDeleteSync", "glDeleteSync"),
-  ("glDeleteTextures", "glDeleteTextures"),
-  ("glDeleteVertexArrays", "glDeleteVertexArrays"),
-  ("glDepthFunc", "glDepthFunc"),
-  ("glDepthMask", "glDepthMask"),
-  ("glDepthRange", "glDepthRange"),
-  ("glDetachShader", "glDetachShader"),
-  ("glDrawArraysInstanced", "glDrawArraysInstanced"),
-  ("glDrawArrays", "glDrawArrays"),
-  ("glDrawBuffers", "glDrawBuffers"),
-  ("glDrawBuffer", "glDrawBuffer"),
-  ("glDrawElementsBaseVertex", "glDrawElementsBaseVertex"),
-  ("glDrawElementsInstancedBaseVertex", "glDrawElementsInstancedBaseVertex"),
-  ("glDrawElementsInstanced", "glDrawElementsInstanced"),
-  ("glDrawElements", "glDrawElements"),
-  ("glDrawRangeElementsBaseVertex", "glDrawRangeElementsBaseVertex"),
-  ("glDrawRangeElements", "glDrawRangeElements"),
-  ("glEnableVertexAttribArray", "glEnableVertexAttribArray"),
-  ("glDisableVertexAttribArray", "glEnableVertexAttribArray"),
-  ("glEnable", "glEnable"),
-  ("glDisable", "glEnable"),
-  ("glEnablei", "glEnable"),
-  ("glDisablei", "glEnable"),
-  ("glFenceSync", "glFenceSync"),
-  ("glFinish", "glFinish"),
-  ("glFlushMappedBufferRange", "glFlushMappedBufferRange"),
-  ("glFlush", "glFlush"),
-  ("glFramebufferRenderbuffer", "glFramebufferRenderbuffer"),
-  ("glFramebufferTextureLayer", "glFramebufferTextureLayer"),
-  ("glFramebufferTexture", "glFramebufferTexture"),
-  ("glFramebufferTexture1D", "glFramebufferTexture"),
-  ("glFramebufferTexture2D", "glFramebufferTexture"),
-  ("glFramebufferTexture3D", "glFramebufferTexture"),
-  ("glFrontFace", "glFrontFace"),
-  ("glGenBuffers", "glGenBuffers"),
-  ("glGenerateMipmap", "glGenerateMipmap"),
-  ("glGenFramebuffers", "glGenFramebuffers"),
-  ("glGenQueries", "glGenQueries"),
-  ("glGenRenderbuffers", "glGenRenderbuffers"),
-  ("glGenSamplers", "glGenSamplers"),
-  ("glGenTextures", "glGenTextures"),
-  ("glGenVertexArrays", "glGenVertexArrays"),
-  ("glGetActiveAttrib", "glGetActiveAttrib"),
-  ("glGetActiveUniformBlockName", "glGetActiveUniformBlockName"),
-  ("glGetActiveUniformBlockiv", "glGetActiveUniformBlock"),
-  ("glGetActiveUniformName", "glGetActiveUniformName"),
-  ("glGetActiveUniformsiv", "glGetActiveUniformsiv"),
-  ("glGetActiveUniform", "glGetActiveUniform"),
-  ("glGetAttachedShaders", "glGetAttachedShaders"),
-  ("glGetAttribLocation", "glGetAttribLocation"),
-  ("glGetBufferParameteriv", "glGetBufferParameter"),
-  ("glGetBufferParameteri64v", "glGetBufferParameter"),
-  ("glGetBufferPointerv", "glGetBufferPointerv"),
-  ("glGetBufferSubData", "glGetBufferSubData"),
-  ("glGetCompressedTexImage", "glGetCompressedTexImage"),
-  ("glGetError", "glGetError"),
-  ("glGetFragDataIndex", "glGetFragDataIndex"),
-  ("glGetFragDataLocation", "glGetFragDataLocation"),
-  ("glGetFramebufferAttachmentParameteriv", "glGetFramebufferAttachmentParameter"),
-  ("glGetMultisamplefv", "glGetMultisample"),
-  ("glGetProgramInfoLog", "glGetProgramInfoLog"),
-  ("glGetProgramiv", "glGetProgram"),
-  ("glGetQueryiv", "glGetQueryiv"),
-  ("glGetQueryObjectiv", "glGetQueryObject"),
-  ("glGetQueryObjectuiv", "glGetQueryObject"),
-  ("glGetQueryObjecti64v", "glGetQueryObject"),
-  ("glGetQueryObjectui64v", "glGetQueryObject"),
-  ("glGetRenderbufferParameteriv", "glGetRenderbufferParameter"),
-  ("glGetSamplerParameterfv", "glGetSamplerParameter"),
-  ("glGetSamplerParameteriv", "glGetSamplerParameter"),
-  ("glGetSamplerParameterIiv", "glGetSamplerParameter"),
-  ("glGetSamplerParameterIuiv", "glGetSamplerParameter"),
-  ("glGetShaderInfoLog", "glGetShaderInfoLog"),
-  ("glGetShaderSource", "glGetShaderSource"),
-  ("glGetShaderiv", "glGetShader"),
-  ("glGetString", "glGetString"),
-  ("glGetStringi", "glGetString"),
-  ("glGetSynciv", "glGetSync"),
-  ("glGetTexImage", "glGetTexImage"),
-  ("glGetTexLevelParameterfv", "glGetTexLevelParameter"),
-  ("glGetTexLevelParameteriv", "glGetTexLevelParameter"),
-  ("glGetTexParameterfv", "glGetTexParameter"),
-  ("glGetTexParameteriv", "glGetTexParameter"),
-  ("glGetTexParameterIiv", "glGetTexParameter"),
-  ("glGetTexParameterIuiv", "glGetTexParameter"),
-  ("glGetTransformFeedbackVarying", "glGetTransformFeedbackVarying"),
-  ("glGetUniformBlockIndex", "glGetUniformBlockIndex"),
-  ("glGetUniformIndices", "glGetUniformIndices"),
-  ("glGetUniformLocation", "glGetUniformLocation"),
-  ("glGetUniformfv", "glGetUniform"),
-  ("glGetUniformiv", "glGetUniform"),
-  ("glGetUniformuiv", "glGetUniform"),
-  ("glGetVertexAttribPointerv", "glGetVertexAttribPointerv"),
-  ("glGetVertexAttribdv", "glGetVertexAttrib"),
-  ("glGetVertexAttribfv", "glGetVertexAttrib"),
-  ("glGetVertexAttribiv", "glGetVertexAttrib"),
-  ("glGetVertexAttribIiv", "glGetVertexAttrib"),
-  ("glGetVertexAttribIuiv", "glGetVertexAttrib"),
-  ("glGetBooleanv", "glGet"),
-  ("glGetDoublev", "glGet"),
-  ("glGetFloatv", "glGet"),
-  ("glGetIntegerv", "glGet"),
-  ("glGetInteger64v", "glGet"),
-  ("glGetBooleani_v", "glGet"),
-  ("glGetIntegeri_v", "glGet"),
-  ("glGetInteger64i_v", "glGet"),
-  ("glHint", "glHint"),
-  ("glIsBuffer", "glIsBuffer"),
-  ("glIsEnabled", "glIsEnabled"),
-  ("glIsEnabledi", "glIsEnabled"),
-  ("glIsFramebuffer", "glIsFramebuffer"),
-  ("glIsProgram", "glIsProgram"),
-  ("glIsQuery", "glIsQuery"),
-  ("glIsRenderbuffer", "glIsRenderbuffer"),
-  ("glIsSampler", "glIsSampler"),
-  ("glIsShader", "glIsShader"),
-  ("glIsSync", "glIsSync"),
-  ("glIsTexture", "glIsTexture"),
-  ("glIsVertexArray", "glIsVertexArray"),
-  ("glLineWidth", "glLineWidth"),
-  ("glLinkProgram", "glLinkProgram"),
-  ("glLogicOp", "glLogicOp"),
-  ("glMapBufferRange", "glMapBufferRange"),
-  ("glMapBuffer", "glMapBuffer"),
-  ("glUnmapBuffer", "glMapBuffer"),
-  ("glMultiDrawArrays", "glMultiDrawArrays"),
-  ("glMultiDrawElementsBaseVertex", "glMultiDrawElementsBaseVertex"),
-  ("glMultiDrawElements", "glMultiDrawElements"),
-  ("glPixelStoref", "glPixelStore"),
-  ("glPixelStorei", "glPixelStore"),
-  ("glPointParameterf", "glPointParameter"),
-  ("glPointParameteri", "glPointParameter"),
-  ("glPointParameterfv", "glPointParameter"),
-  ("glPointParameteriv", "glPointParameter"),
-  ("glPointSize", "glPointSize"),
-  ("glPolygonMode", "glPolygonMode"),
-  ("glPolygonOffset", "glPolygonOffset"),
-  ("glPrimitiveRestartIndex", "glPrimitiveRestartIndex"),
-  ("glProvokingVertex", "glProvokingVertex"),
-  ("glQueryCounter", "glQueryCounter"),
-  ("glReadBuffer", "glReadBuffer"),
-  ("glReadPixels", "glReadPixels"),
-  ("glRenderbufferStorageMultisample", "glRenderbufferStorageMultisample"),
-  ("glRenderbufferStorage", "glRenderbufferStorage"),
-  ("glSampleCoverage", "glSampleCoverage"),
-  ("glSampleMaski", "glSampleMaski"),
-  ("glSamplerParameterf", "glSamplerParameter"),
-  ("glSamplerParameteri", "glSamplerParameter"),
-  ("glSamplerParameterfv", "glSamplerParameter"),
-  ("glSamplerParameteriv", "glSamplerParameter"),
-  ("glSamplerParameterIiv", "glSamplerParameter"),
-  ("glSamplerParameterIuiv", "glSamplerParameter"),
-  ("glScissor", "glScissor"),
-  ("glShaderSource", "glShaderSource"),
-  ("glStencilFuncSeparate", "glStencilFuncSeparate"),
-  ("glStencilFunc", "glStencilFunc"),
-  ("glStencilMaskSeparate", "glStencilMaskSeparate"),
-  ("glStencilMask", "glStencilMask"),
-  ("glStencilOpSeparate", "glStencilOpSeparate"),
-  ("glStencilOp", "glStencilOp"),
-  ("glTexBuffer", "glTexBuffer"),
-  ("glTexImage1D", "glTexImage1D"),
-  ("glTexImage2DMultisample", "glTexImage2DMultisample"),
-  ("glTexImage2D", "glTexImage2D"),
-  ("glTexImage3DMultisample", "glTexImage3DMultisample"),
-  ("glTexImage3D", "glTexImage3D"),
-  ("glTexParameterf", "glTexParameter"),
-  ("glTexParameteri", "glTexParameter"),
-  ("glTexParameterfv", "glTexParameter"),
-  ("glTexParameteriv", "glTexParameter"),
-  ("glTexParameterIiv", "glTexParameter"),
-  ("glTexParameterIuiv", "glTexParameter"),
-  ("glTexSubImage1D", "glTexSubImage1D"),
-  ("glTexSubImage2D", "glTexSubImage2D"),
-  ("glTexSubImage3D", "glTexSubImage3D"),
-  ("glTransformFeedbackVaryings", "glTransformFeedbackVaryings"),
-  ("glUniformBlockBinding", "glUniformBlockBinding"),
-  ("glUniform1f", "glUniform"),
-  ("glUniform2f", "glUniform"),
-  ("glUniform3f", "glUniform"),
-  ("glUniform4f", "glUniform"),
-  ("glUniform1i", "glUniform"),
-  ("glUniform2i", "glUniform"),
-  ("glUniform3i", "glUniform"),
-  ("glUniform4i", "glUniform"),
-  ("glUniform1ui", "glUniform"),
-  ("glUniform2ui", "glUniform"),
-  ("glUniform3ui", "glUniform"),
-  ("glUniform4ui", "glUniform"),
-  ("glUniform1fv", "glUniform"),
-  ("glUniform2fv", "glUniform"),
-  ("glUniform3fv", "glUniform"),
-  ("glUniform4fv", "glUniform"),
-  ("glUniform1iv", "glUniform"),
-  ("glUniform2iv", "glUniform"),
-  ("glUniform3iv", "glUniform"),
-  ("glUniform4iv", "glUniform"),
-  ("glUniform1uiv", "glUniform"),
-  ("glUniform2uiv", "glUniform"),
-  ("glUniform3uiv", "glUniform"),
-  ("glUniform4uiv", "glUniform"),
-  ("glUniformMatrix2fv", "glUniform"),
-  ("glUniformMatrix3fv", "glUniform"),
-  ("glUniformMatrix4fv", "glUniform"),
-  ("glUniformMatrix2x3fv", "glUniform"),
-  ("glUniformMatrix3x2fv", "glUniform"),
-  ("glUniformMatrix2x4fv", "glUniform"),
-  ("glUniformMatrix4x2fv", "glUniform"),
-  ("glUniformMatrix3x4fv", "glUniform"),
-  ("glUniformMatrix4x3fv", "glUniform"),
-  ("glUseProgram", "glUseProgram"),
-  ("glValidateProgram", "glValidateProgram"),
-  ("glVertexAttribDivisor", "glVertexAttribDivisor"),
-  ("glVertexAttribPointer", "glVertexAttribPointer"),
-  ("glVertexAttribIPointer", "glVertexAttribPointer"),
-  ("glVertexAttrib1f", "glVertexAttrib"),
-  ("glVertexAttrib1s", "glVertexAttrib"),
-  ("glVertexAttrib1d", "glVertexAttrib"),
-  ("glVertexAttribI1i", "glVertexAttrib"),
-  ("glVertexAttribI1ui", "glVertexAttrib"),
-  ("glVertexAttrib2f", "glVertexAttrib"),
-  ("glVertexAttrib2s", "glVertexAttrib"),
-  ("glVertexAttrib2d", "glVertexAttrib"),
-  ("glVertexAttribI2i", "glVertexAttrib"),
-  ("glVertexAttribI2ui", "glVertexAttrib"),
-  ("glVertexAttrib3f", "glVertexAttrib"),
-  ("glVertexAttrib3s", "glVertexAttrib"),
-  ("glVertexAttrib3d", "glVertexAttrib"),
-  ("glVertexAttribI3i", "glVertexAttrib"),
-  ("glVertexAttribI3ui", "glVertexAttrib"),
-  ("glVertexAttrib4f", "glVertexAttrib"),
-  ("glVertexAttrib4s", "glVertexAttrib"),
-  ("glVertexAttrib4d", "glVertexAttrib"),
-  ("glVertexAttrib4Nub", "glVertexAttrib"),
-  ("glVertexAttribI4i", "glVertexAttrib"),
-  ("glVertexAttribI4ui", "glVertexAttrib"),
-  ("glVertexAttrib1fv", "glVertexAttrib"),
-  ("glVertexAttrib1sv", "glVertexAttrib"),
-  ("glVertexAttrib1dv", "glVertexAttrib"),
-  ("glVertexAttribI1iv", "glVertexAttrib"),
-  ("glVertexAttribI1uiv", "glVertexAttrib"),
-  ("glVertexAttrib2fv", "glVertexAttrib"),
-  ("glVertexAttrib2sv", "glVertexAttrib"),
-  ("glVertexAttrib2dv", "glVertexAttrib"),
-  ("glVertexAttribI2iv", "glVertexAttrib"),
-  ("glVertexAttribI2uiv", "glVertexAttrib"),
-  ("glVertexAttrib3fv", "glVertexAttrib"),
-  ("glVertexAttrib3sv", "glVertexAttrib"),
-  ("glVertexAttrib3dv", "glVertexAttrib"),
-  ("glVertexAttribI3iv", "glVertexAttrib"),
-  ("glVertexAttribI3uiv", "glVertexAttrib"),
-  ("glVertexAttrib4fv", "glVertexAttrib"),
-  ("glVertexAttrib4sv", "glVertexAttrib"),
-  ("glVertexAttrib4dv", "glVertexAttrib"),
-  ("glVertexAttrib4iv", "glVertexAttrib"),
-  ("glVertexAttrib4bv", "glVertexAttrib"),
-  ("glVertexAttrib4ubv", "glVertexAttrib"),
-  ("glVertexAttrib4usv", "glVertexAttrib"),
-  ("glVertexAttrib4uiv", "glVertexAttrib"),
-  ("glVertexAttrib4Nbv", "glVertexAttrib"),
-  ("glVertexAttrib4Nsv", "glVertexAttrib"),
-  ("glVertexAttrib4Niv", "glVertexAttrib"),
-  ("glVertexAttrib4Nubv", "glVertexAttrib"),
-  ("glVertexAttrib4Nusv", "glVertexAttrib"),
-  ("glVertexAttrib4Nuiv", "glVertexAttrib"),
-  ("glVertexAttribI4bv", "glVertexAttrib"),
-  ("glVertexAttribI4ubv", "glVertexAttrib"),
-  ("glVertexAttribI4sv", "glVertexAttrib"),
-  ("glVertexAttribI4usv", "glVertexAttrib"),
-  ("glVertexAttribI4iv", "glVertexAttrib"),
-  ("glVertexAttribI4uiv", "glVertexAttrib"),
-  ("glVertexAttribP1ui", "glVertexAttrib"),
-  ("glVertexAttribP2ui", "glVertexAttrib"),
-  ("glVertexAttribP3ui", "glVertexAttrib"),
-  ("glVertexAttribP4ui", "glVertexAttrib"),
-  ("glViewport", "glViewport"),
-  ("glWaitSync", "glWaitSync")
-  ]
-
-assocsGL4 :: [(ManPageKey, [(URL, Label)])]
-assocsGL4 =
-  entriesFor "gl" "OpenGL 4.x" "https://www.opengl.org/sdk/docs/man4/html/" ".xhtml" [
-  ("glActiveShaderProgram", "glActiveShaderProgram"),
-  ("glActiveTexture", "glActiveTexture"),
-  ("glAttachShader", "glAttachShader"),
-  ("glBeginConditionalRender", "glBeginConditionalRender"),
-  ("glEndConditionalRender", "glBeginConditionalRender"),
-  ("glBeginQueryIndexed", "glBeginQueryIndexed"),
-  ("glEndQueryIndexed", "glBeginQueryIndexed"),
-  ("glBeginQuery", "glBeginQuery"),
-  ("glEndQuery", "glBeginQuery"),
-  ("glBeginTransformFeedback", "glBeginTransformFeedback"),
-  ("glEndTransformFeedback", "glBeginTransformFeedback"),
-  ("glBindAttribLocation", "glBindAttribLocation"),
-  ("glBindBufferBase", "glBindBufferBase"),
-  ("glBindBufferRange", "glBindBufferRange"),
-  ("glBindBuffersBase", "glBindBuffersBase"),
-  ("glBindBuffersRange", "glBindBuffersRange"),
-  ("glBindBuffer", "glBindBuffer"),
-  ("glBindFragDataLocationIndexed", "glBindFragDataLocationIndexed"),
-  ("glBindFragDataLocation", "glBindFragDataLocation"),
-  ("glBindFramebuffer", "glBindFramebuffer"),
-  ("glBindImageTextures", "glBindImageTextures"),
-  ("glBindImageTexture", "glBindImageTexture"),
-  ("glBindProgramPipeline", "glBindProgramPipeline"),
-  ("glBindRenderbuffer", "glBindRenderbuffer"),
-  ("glBindSamplers", "glBindSamplers"),
-  ("glBindSampler", "glBindSampler"),
-  ("glBindTextures", "glBindTextures"),
-  ("glBindTextureUnit", "glBindTextureUnit"),
-  ("glBindTexture", "glBindTexture"),
-  ("glBindTransformFeedback", "glBindTransformFeedback"),
-  ("glBindVertexArray", "glBindVertexArray"),
-  ("glBindVertexBuffers", "glBindVertexBuffers"),
-  ("glVertexArrayVertexBuffers", "glBindVertexBuffers"),
-  ("glBindVertexBuffer", "glBindVertexBuffer"),
-  ("glVertexArrayVertexBuffer", "glBindVertexBuffer"),
-  ("glBlendColor", "glBlendColor"),
-  ("glBlendEquationSeparate", "glBlendEquationSeparate"),
-  ("glBlendEquationSeparatei", "glBlendEquationSeparate"),
-  ("glBlendEquation", "glBlendEquation"),
-  ("glBlendEquationi", "glBlendEquation"),
-  ("glBlendFuncSeparate", "glBlendFuncSeparate"),
-  ("glBlendFuncSeparatei", "glBlendFuncSeparate"),
-  ("glBlendFunc", "glBlendFunc"),
-  ("glBlendFunci", "glBlendFunc"),
-  ("glBlitFramebuffer", "glBlitFramebuffer"),
-  ("glBlitNamedFramebuffer", "glBlitFramebuffer"),
-  ("glBufferData", "glBufferData"),
-  ("glNamedBufferData", "glBufferData"),
-  ("glBufferStorage", "glBufferStorage"),
-  ("glNamedBufferStorage", "glBufferStorage"),
-  ("glBufferSubData", "glBufferSubData"),
-  ("glNamedBufferSubData", "glBufferSubData"),
-  ("glCheckFramebufferStatus", "glCheckFramebufferStatus"),
-  ("glCheckNamedFramebufferStatus", "glCheckFramebufferStatus"),
-  ("glClampColor", "glClampColor"),
-  ("glClearBufferData", "glClearBufferData"),
-  ("glClearNamedBufferData", "glClearBufferData"),
-  ("glClearBufferSubData", "glClearBufferSubData"),
-  ("glClearNamedBufferSubData", "glClearBufferSubData"),
-  ("glClearBufferiv", "glClearBuffer"),
-  ("glClearBufferuiv", "glClearBuffer"),
-  ("glClearBufferfv", "glClearBuffer"),
-  ("glClearBufferfi", "glClearBuffer"),
-  ("glClearNamedFramebufferiv", "glClearBuffer"),
-  ("glClearNamedFramebufferuiv", "glClearBuffer"),
-  ("glClearNamedFramebufferfv", "glClearBuffer"),
-  ("glClearNamedFramebufferfi", "glClearBuffer"),
-  ("glClearColor", "glClearColor"),
-  ("glClearDepth", "glClearDepth"),
-  ("glClearDepthf", "glClearDepth"),
-  ("glClearStencil", "glClearStencil"),
-  ("glClearTexImage", "glClearTexImage"),
-  ("glClearTexSubImage", "glClearTexSubImage"),
-  ("glClear", "glClear"),
-  ("glClientWaitSync", "glClientWaitSync"),
-  ("glClipControl", "glClipControl"),
-  ("glColorMask", "glColorMask"),
-  ("glColorMaski", "glColorMask"),
-  ("glCompileShader", "glCompileShader"),
-  ("glCompressedTexImage1D", "glCompressedTexImage1D"),
-  ("glCompressedTexImage2D", "glCompressedTexImage2D"),
-  ("glCompressedTexImage3D", "glCompressedTexImage3D"),
-  ("glCompressedTexSubImage1D", "glCompressedTexSubImage1D"),
-  ("glCompressedTextureSubImage1D", "glCompressedTexSubImage1D"),
-  ("glCompressedTexSubImage2D", "glCompressedTexSubImage2D"),
-  ("glCompressedTextureSubImage2D", "glCompressedTexSubImage2D"),
-  ("glCompressedTexSubImage3D", "glCompressedTexSubImage3D"),
-  ("glCompressedTextureSubImage3D", "glCompressedTexSubImage3D"),
-  ("glCopyBufferSubData", "glCopyBufferSubData"),
-  ("glCopyNamedBufferSubData", "glCopyBufferSubData"),
-  ("glCopyImageSubData", "glCopyImageSubData"),
-  ("glCopyTexImage1D", "glCopyTexImage1D"),
-  ("glCopyTexImage2D", "glCopyTexImage2D"),
-  ("glCopyTexSubImage1D", "glCopyTexSubImage1D"),
-  ("glCopyTextureSubImage1D", "glCopyTexSubImage1D"),
-  ("glCopyTexSubImage2D", "glCopyTexSubImage2D"),
-  ("glCopyTextureSubImage2D", "glCopyTexSubImage2D"),
-  ("glCopyTexSubImage3D", "glCopyTexSubImage3D"),
-  ("glCopyTextureSubImage3D", "glCopyTexSubImage3D"),
-  ("glCreateBuffers", "glCreateBuffers"),
-  ("glCreateFramebuffers", "glCreateFramebuffers"),
-  ("glCreateProgramPipelines", "glCreateProgramPipelines"),
-  ("glCreateProgram", "glCreateProgram"),
-  ("glCreateQueries", "glCreateQueries"),
-  ("glCreateRenderbuffers", "glCreateRenderbuffers"),
-  ("glCreateSamplers", "glCreateSamplers"),
-  ("glCreateShaderProgramv", "glCreateShaderProgram"),
-  ("glCreateShader", "glCreateShader"),
-  ("glCreateTextures", "glCreateTextures"),
-  ("glCreateTransformFeedbacks", "glCreateTransformFeedbacks"),
-  ("glCreateVertexArrays", "glCreateVertexArrays"),
-  ("glCullFace", "glCullFace"),
-  ("glDebugMessageCallback", "glDebugMessageCallback"),
-  ("glDebugMessageControl", "glDebugMessageControl"),
-  ("glDebugMessageInsert", "glDebugMessageInsert"),
-  ("glDeleteBuffers", "glDeleteBuffers"),
-  ("glDeleteFramebuffers", "glDeleteFramebuffers"),
-  ("glDeleteProgramPipelines", "glDeleteProgramPipelines"),
-  ("glDeleteProgram", "glDeleteProgram"),
-  ("glDeleteQueries", "glDeleteQueries"),
-  ("glDeleteRenderbuffers", "glDeleteRenderbuffers"),
-  ("glDeleteSamplers", "glDeleteSamplers"),
-  ("glDeleteShader", "glDeleteShader"),
-  ("glDeleteSync", "glDeleteSync"),
-  ("glDeleteTextures", "glDeleteTextures"),
-  ("glDeleteTransformFeedbacks", "glDeleteTransformFeedbacks"),
-  ("glDeleteVertexArrays", "glDeleteVertexArrays"),
-  ("glDepthFunc", "glDepthFunc"),
-  ("glDepthMask", "glDepthMask"),
-  ("glDepthRangeArrayv", "glDepthRangeArray"),
-  ("glDepthRangeIndexed", "glDepthRangeIndexed"),
-  ("glDepthRange", "glDepthRange"),
-  ("glDepthRangef", "glDepthRange"),
-  ("glDetachShader", "glDetachShader"),
-  ("glDispatchComputeIndirect", "glDispatchComputeIndirect"),
-  ("glDispatchCompute", "glDispatchCompute"),
-  ("glDrawArraysIndirect", "glDrawArraysIndirect"),
-  ("glDrawArraysInstancedBaseInstance", "glDrawArraysInstancedBaseInstance"),
-  ("glDrawArraysInstanced", "glDrawArraysInstanced"),
-  ("glDrawArrays", "glDrawArrays"),
-  ("glDrawBuffers", "glDrawBuffers"),
-  ("glNamedFramebufferDrawBuffers", "glDrawBuffers"),
-  ("glDrawBuffer", "glDrawBuffer"),
-  ("glNamedFramebufferDrawBuffer", "glDrawBuffer"),
-  ("glDrawElementsBaseVertex", "glDrawElementsBaseVertex"),
-  ("glDrawElementsIndirect", "glDrawElementsIndirect"),
-  ("glDrawElementsInstancedBaseInstance", "glDrawElementsInstancedBaseInstance"),
-  ("glDrawElementsInstancedBaseVertexBaseInstance", "glDrawElementsInstancedBaseVertexBaseInstance"),
-  ("glDrawElementsInstancedBaseVertex", "glDrawElementsInstancedBaseVertex"),
-  ("glDrawElementsInstanced", "glDrawElementsInstanced"),
-  ("glDrawElements", "glDrawElements"),
-  ("glDrawRangeElementsBaseVertex", "glDrawRangeElementsBaseVertex"),
-  ("glDrawRangeElements", "glDrawRangeElements"),
-  ("glDrawTransformFeedbackInstanced", "glDrawTransformFeedbackInstanced"),
-  ("glDrawTransformFeedbackStreamInstanced", "glDrawTransformFeedbackStreamInstanced"),
-  ("glDrawTransformFeedbackStream", "glDrawTransformFeedbackStream"),
-  ("glDrawTransformFeedback", "glDrawTransformFeedback"),
-  ("glEnableVertexAttribArray", "glEnableVertexAttribArray"),
-  ("glDisableVertexAttribArray", "glEnableVertexAttribArray"),
-  ("glEnableVertexArrayAttrib", "glEnableVertexAttribArray"),
-  ("glDisableVertexArrayAttrib", "glEnableVertexAttribArray"),
-  ("glEnable", "glEnable"),
-  ("glDisable", "glEnable"),
-  ("glEnablei", "glEnable"),
-  ("glDisablei", "glEnable"),
-  ("glFenceSync", "glFenceSync"),
-  ("glFinish", "glFinish"),
-  ("glFlushMappedBufferRange", "glFlushMappedBufferRange"),
-  ("glFlushMappedNamedBufferRange", "glFlushMappedBufferRange"),
-  ("glFlush", "glFlush"),
-  ("glFramebufferParameteri", "glFramebufferParameteri"),
-  ("glNamedFramebufferParameteri", "glFramebufferParameteri"),
-  ("glFramebufferRenderbuffer", "glFramebufferRenderbuffer"),
-  ("glNamedFramebufferRenderbuffer", "glFramebufferRenderbuffer"),
-  ("glFramebufferTextureLayer", "glFramebufferTextureLayer"),
-  ("glNamedFramebufferTextureLayer", "glFramebufferTextureLayer"),
-  ("glFramebufferTexture", "glFramebufferTexture"),
-  ("glFramebufferTexture1D", "glFramebufferTexture"),
-  ("glFramebufferTexture2D", "glFramebufferTexture"),
-  ("glFramebufferTexture3D", "glFramebufferTexture"),
-  ("glNamedFramebufferTexture", "glFramebufferTexture"),
-  ("glFrontFace", "glFrontFace"),
-  ("glGenBuffers", "glGenBuffers"),
-  ("glGenerateMipmap", "glGenerateMipmap"),
-  ("glGenerateTextureMipmap", "glGenerateMipmap"),
-  ("glGenFramebuffers", "glGenFramebuffers"),
-  ("glGenProgramPipelines", "glGenProgramPipelines"),
-  ("glGenQueries", "glGenQueries"),
-  ("glGenRenderbuffers", "glGenRenderbuffers"),
-  ("glGenSamplers", "glGenSamplers"),
-  ("glGenTextures", "glGenTextures"),
-  ("glGenTransformFeedbacks", "glGenTransformFeedbacks"),
-  ("glGenVertexArrays", "glGenVertexArrays"),
-  ("glGetActiveAtomicCounterBufferiv", "glGetActiveAtomicCounterBufferiv"),
-  ("glGetActiveAttrib", "glGetActiveAttrib"),
-  ("glGetActiveSubroutineName", "glGetActiveSubroutineName"),
-  ("glGetActiveSubroutineUniformName", "glGetActiveSubroutineUniformName"),
-  ("glGetActiveSubroutineUniformiv", "glGetActiveSubroutineUniform"),
-  ("glGetActiveUniformBlockName", "glGetActiveUniformBlockName"),
-  ("glGetActiveUniformBlockiv", "glGetActiveUniformBlock"),
-  ("glGetActiveUniformName", "glGetActiveUniformName"),
-  ("glGetActiveUniformsiv", "glGetActiveUniformsiv"),
-  ("glGetActiveUniform", "glGetActiveUniform"),
-  ("glGetAttachedShaders", "glGetAttachedShaders"),
-  ("glGetAttribLocation", "glGetAttribLocation"),
-  ("glGetBufferParameteriv", "glGetBufferParameter"),
-  ("glGetBufferParameteri64v", "glGetBufferParameter"),
-  ("glGetNamedBufferParameteriv", "glGetBufferParameter"),
-  ("glGetNamedBufferParameteri64v", "glGetBufferParameter"),
-  ("glGetBufferPointerv", "glGetBufferPointerv"),
-  ("glGetNamedBufferPointerv", "glGetBufferPointerv"),
-  ("glGetBufferSubData", "glGetBufferSubData"),
-  ("glGetNamedBufferSubData", "glGetBufferSubData"),
-  ("glGetCompressedTexImage", "glGetCompressedTexImage"),
-  ("glGetnCompressedTexImage", "glGetCompressedTexImage"),
-  ("glGetCompressedTextureImage", "glGetCompressedTexImage"),
-  ("glGetCompressedTextureSubImage", "glGetCompressedTextureSubImage"),
-  ("glGetDebugMessageLog", "glGetDebugMessageLog"),
-  ("glGetError", "glGetError"),
-  ("glGetFragDataIndex", "glGetFragDataIndex"),
-  ("glGetFragDataLocation", "glGetFragDataLocation"),
-  ("glGetFramebufferAttachmentParameteriv", "glGetFramebufferAttachmentParameter"),
-  ("glGetNamedFramebufferAttachmentParameteriv", "glGetFramebufferAttachmentParameter"),
-  ("glGetFramebufferParameteriv", "glGetFramebufferParameter"),
-  ("glGetNamedFramebufferParameteriv", "glGetFramebufferParameter"),
-  ("glGetGraphicsResetStatus", "glGetGraphicsResetStatus"),
-  ("glGetInternalformativ", "glGetInternalformat"),
-  ("glGetInternalformati64v", "glGetInternalformat"),
-  ("glGetMultisamplefv", "glGetMultisample"),
-  ("glGetObjectLabel", "glGetObjectLabel"),
-  ("glGetObjectPtrLabel", "glGetObjectPtrLabel"),
-  ("glGetPointerv", "glGetPointerv"),
-  ("glGetProgramBinary", "glGetProgramBinary"),
-  ("glGetProgramInfoLog", "glGetProgramInfoLog"),
-  ("glGetProgramInterfaceiv", "glGetProgramInterface"),
-  ("glGetProgramPipelineInfoLog", "glGetProgramPipelineInfoLog"),
-  ("glGetProgramPipelineiv", "glGetProgramPipeline"),
-  ("glGetProgramResourceIndex", "glGetProgramResourceIndex"),
-  ("glGetProgramResourceLocationIndex", "glGetProgramResourceLocationIndex"),
-  ("glGetProgramResourceLocation", "glGetProgramResourceLocation"),
-  ("glGetProgramResourceName", "glGetProgramResourceName"),
-  ("glGetProgramResourceiv", "glGetProgramResource"),
-  ("glGetProgramStageiv", "glGetProgramStage"),
-  ("glGetProgramiv", "glGetProgram"),
-  ("glGetQueryIndexediv", "glGetQueryIndexed"),
-  ("glGetQueryiv", "glGetQueryiv"),
-  ("glGetQueryObjectiv", "glGetQueryObject"),
-  ("glGetQueryObjectuiv", "glGetQueryObject"),
-  ("glGetQueryObjecti64v", "glGetQueryObject"),
-  ("glGetQueryObjectui64v", "glGetQueryObject"),
-  ("glGetRenderbufferParameteriv", "glGetRenderbufferParameter"),
-  ("glGetNamedRenderbufferParameteriv", "glGetRenderbufferParameter"),
-  ("glGetSamplerParameterfv", "glGetSamplerParameter"),
-  ("glGetSamplerParameteriv", "glGetSamplerParameter"),
-  ("glGetSamplerParameterIiv", "glGetSamplerParameter"),
-  ("glGetSamplerParameterIuiv", "glGetSamplerParameter"),
-  ("glGetShaderInfoLog", "glGetShaderInfoLog"),
-  ("glGetShaderPrecisionFormat", "glGetShaderPrecisionFormat"),
-  ("glGetShaderSource", "glGetShaderSource"),
-  ("glGetShaderiv", "glGetShader"),
-  ("glGetString", "glGetString"),
-  ("glGetStringi", "glGetString"),
-  ("glGetSubroutineIndex", "glGetSubroutineIndex"),
-  ("glGetSubroutineUniformLocation", "glGetSubroutineUniformLocation"),
-  ("glGetSynciv", "glGetSync"),
-  ("glGetTexImage", "glGetTexImage"),
-  ("glGetnTexImage", "glGetTexImage"),
-  ("glGetTextureImage", "glGetTexImage"),
-  ("glGetTexLevelParameterfv", "glGetTexLevelParameter"),
-  ("glGetTexLevelParameteriv", "glGetTexLevelParameter"),
-  ("glGetTextureLevelParameterfv", "glGetTexLevelParameter"),
-  ("glGetTextureLevelParameteriv", "glGetTexLevelParameter"),
-  ("glGetTexParameterfv", "glGetTexParameter"),
-  ("glGetTexParameteriv", "glGetTexParameter"),
-  ("glGetTexParameterIiv", "glGetTexParameter"),
-  ("glGetTexParameterIuiv", "glGetTexParameter"),
-  ("glGetTextureParameterfv", "glGetTexParameter"),
-  ("glGetTextureParameteriv", "glGetTexParameter"),
-  ("glGetTextureParameterIiv", "glGetTexParameter"),
-  ("glGetTextureParameterIuiv", "glGetTexParameter"),
-  ("glGetTextureSubImage", "glGetTextureSubImage"),
-  ("glGetTransformFeedbackVarying", "glGetTransformFeedbackVarying"),
-  ("glGetTransformFeedbackiv", "glGetTransformFeedback"),
-  ("glGetTransformFeedbacki_v", "glGetTransformFeedback"),
-  ("glGetTransformFeedbacki64_v", "glGetTransformFeedback"),
-  ("glGetUniformBlockIndex", "glGetUniformBlockIndex"),
-  ("glGetUniformIndices", "glGetUniformIndices"),
-  ("glGetUniformLocation", "glGetUniformLocation"),
-  ("glGetUniformSubroutineuiv", "glGetUniformSubroutine"),
-  ("glGetUniformfv", "glGetUniform"),
-  ("glGetUniformiv", "glGetUniform"),
-  ("glGetUniformuiv", "glGetUniform"),
-  ("glGetUniformdv", "glGetUniform"),
-  ("glGetnUniformfv", "glGetUniform"),
-  ("glGetnUniformiv", "glGetUniform"),
-  ("glGetnUniformuiv", "glGetUniform"),
-  ("glGetnUniformdv", "glGetUniform"),
-  ("glGetVertexArrayIndexed64iv", "glGetVertexArrayIndexed"),
-  ("glGetVertexArrayIndexediv", "glGetVertexArrayIndexed"),
-  ("glGetVertexArrayiv", "glGetVertexArrayiv"),
-  ("glGetVertexAttribPointerv", "glGetVertexAttribPointerv"),
-  ("glGetVertexAttribdv", "glGetVertexAttrib"),
-  ("glGetVertexAttribfv", "glGetVertexAttrib"),
-  ("glGetVertexAttribiv", "glGetVertexAttrib"),
-  ("glGetVertexAttribIiv", "glGetVertexAttrib"),
-  ("glGetVertexAttribIuiv", "glGetVertexAttrib"),
-  ("glGetVertexAttribLdv", "glGetVertexAttrib"),
-  ("glGetBooleanv", "glGet"),
-  ("glGetDoublev", "glGet"),
-  ("glGetFloatv", "glGet"),
-  ("glGetIntegerv", "glGet"),
-  ("glGetInteger64v", "glGet"),
-  ("glGetBooleani_v", "glGet"),
-  ("glGetIntegeri_v", "glGet"),
-  ("glGetFloati_v", "glGet"),
-  ("glGetDoublei_v", "glGet"),
-  ("glGetInteger64i_v", "glGet"),
-  ("glHint", "glHint"),
-  ("glInvalidateBufferData", "glInvalidateBufferData"),
-  ("glInvalidateBufferSubData", "glInvalidateBufferSubData"),
-  ("glInvalidateFramebuffer", "glInvalidateFramebuffer"),
-  ("glInvalidateNamedFramebufferData", "glInvalidateFramebuffer"),
-  ("glInvalidateSubFramebuffer", "glInvalidateSubFramebuffer"),
-  ("glInvalidateNamedFramebufferSubData", "glInvalidateSubFramebuffer"),
-  ("glInvalidateTexImage", "glInvalidateTexImage"),
-  ("glInvalidateTexSubImage", "glInvalidateTexSubImage"),
-  ("glIsBuffer", "glIsBuffer"),
-  ("glIsEnabled", "glIsEnabled"),
-  ("glIsEnabledi", "glIsEnabled"),
-  ("glIsFramebuffer", "glIsFramebuffer"),
-  ("glIsProgramPipeline", "glIsProgramPipeline"),
-  ("glIsProgram", "glIsProgram"),
-  ("glIsQuery", "glIsQuery"),
-  ("glIsRenderbuffer", "glIsRenderbuffer"),
-  ("glIsSampler", "glIsSampler"),
-  ("glIsShader", "glIsShader"),
-  ("glIsSync", "glIsSync"),
-  ("glIsTexture", "glIsTexture"),
-  ("glIsTransformFeedback", "glIsTransformFeedback"),
-  ("glIsVertexArray", "glIsVertexArray"),
-  ("glLineWidth", "glLineWidth"),
-  ("glLinkProgram", "glLinkProgram"),
-  ("glLogicOp", "glLogicOp"),
-  ("glMapBufferRange", "glMapBufferRange"),
-  ("glMapNamedBufferRange", "glMapBufferRange"),
-  ("glMapBuffer", "glMapBuffer"),
-  ("glMapNamedBuffer", "glMapBuffer"),
-  ("glMemoryBarrier", "glMemoryBarrier"),
-  ("glMemoryBarrierByRegion", "glMemoryBarrier"),
-  ("glMinSampleShading", "glMinSampleShading"),
-  ("glMultiDrawArraysIndirect", "glMultiDrawArraysIndirect"),
-  ("glMultiDrawArrays", "glMultiDrawArrays"),
-  ("glMultiDrawElementsBaseVertex", "glMultiDrawElementsBaseVertex"),
-  ("glMultiDrawElementsIndirect", "glMultiDrawElementsIndirect"),
-  ("glMultiDrawElements", "glMultiDrawElements"),
-  ("glObjectLabel", "glObjectLabel"),
-  ("glObjectPtrLabel", "glObjectPtrLabel"),
-  ("glPatchParameteri", "glPatchParameter"),
-  ("glPatchParameterfv", "glPatchParameter"),
-  ("glPauseTransformFeedback", "glPauseTransformFeedback"),
-  ("glPixelStoref", "glPixelStore"),
-  ("glPixelStorei", "glPixelStore"),
-  ("glPointParameterf", "glPointParameter"),
-  ("glPointParameteri", "glPointParameter"),
-  ("glPointParameterfv", "glPointParameter"),
-  ("glPointParameteriv", "glPointParameter"),
-  ("glPointSize", "glPointSize"),
-  ("glPolygonMode", "glPolygonMode"),
-  ("glPolygonOffset", "glPolygonOffset"),
-  ("glPopDebugGroup", "glPopDebugGroup"),
-  ("glPrimitiveRestartIndex", "glPrimitiveRestartIndex"),
-  ("glProgramBinary", "glProgramBinary"),
-  ("glProgramParameteri", "glProgramParameter"),
-  ("glProgramUniform1f", "glProgramUniform"),
-  ("glProgramUniform2f", "glProgramUniform"),
-  ("glProgramUniform3f", "glProgramUniform"),
-  ("glProgramUniform4f", "glProgramUniform"),
-  ("glProgramUniform1i", "glProgramUniform"),
-  ("glProgramUniform2i", "glProgramUniform"),
-  ("glProgramUniform3i", "glProgramUniform"),
-  ("glProgramUniform4i", "glProgramUniform"),
-  ("glProgramUniform1ui", "glProgramUniform"),
-  ("glProgramUniform2ui", "glProgramUniform"),
-  ("glProgramUniform3ui", "glProgramUniform"),
-  ("glProgramUniform4ui", "glProgramUniform"),
-  ("glProgramUniform1fv", "glProgramUniform"),
-  ("glProgramUniform2fv", "glProgramUniform"),
-  ("glProgramUniform3fv", "glProgramUniform"),
-  ("glProgramUniform4fv", "glProgramUniform"),
-  ("glProgramUniform1iv", "glProgramUniform"),
-  ("glProgramUniform2iv", "glProgramUniform"),
-  ("glProgramUniform3iv", "glProgramUniform"),
-  ("glProgramUniform4iv", "glProgramUniform"),
-  ("glProgramUniform1uiv", "glProgramUniform"),
-  ("glProgramUniform2uiv", "glProgramUniform"),
-  ("glProgramUniform3uiv", "glProgramUniform"),
-  ("glProgramUniform4uiv", "glProgramUniform"),
-  ("glProgramUniformMatrix2fv", "glProgramUniform"),
-  ("glProgramUniformMatrix3fv", "glProgramUniform"),
-  ("glProgramUniformMatrix4fv", "glProgramUniform"),
-  ("glProgramUniformMatrix2x3fv", "glProgramUniform"),
-  ("glProgramUniformMatrix3x2fv", "glProgramUniform"),
-  ("glProgramUniformMatrix2x4fv", "glProgramUniform"),
-  ("glProgramUniformMatrix4x2fv", "glProgramUniform"),
-  ("glProgramUniformMatrix3x4fv", "glProgramUniform"),
-  ("glProgramUniformMatrix4x3fv", "glProgramUniform"),
-  ("glProvokingVertex", "glProvokingVertex"),
-  ("glPushDebugGroup", "glPushDebugGroup"),
-  ("glQueryCounter", "glQueryCounter"),
-  ("glReadBuffer", "glReadBuffer"),
-  ("glNamedFramebufferReadBuffer", "glReadBuffer"),
-  ("glReadPixels", "glReadPixels"),
-  ("glReadnPixels", "glReadPixels"),
-  ("glReleaseShaderCompiler", "glReleaseShaderCompiler"),
-  ("glRenderbufferStorageMultisample", "glRenderbufferStorageMultisample"),
-  ("glNamedRenderbufferStorageMultisample", "glRenderbufferStorageMultisample"),
-  ("glRenderbufferStorage", "glRenderbufferStorage"),
-  ("glNamedRenderbufferStorage", "glRenderbufferStorage"),
-  ("glResumeTransformFeedback", "glResumeTransformFeedback"),
-  ("glSampleCoverage", "glSampleCoverage"),
-  ("glSampleMaski", "glSampleMaski"),
-  ("glSamplerParameterf", "glSamplerParameter"),
-  ("glSamplerParameteri", "glSamplerParameter"),
-  ("glSamplerParameterfv", "glSamplerParameter"),
-  ("glSamplerParameteriv", "glSamplerParameter"),
-  ("glSamplerParameterIiv", "glSamplerParameter"),
-  ("glSamplerParameterIuiv", "glSamplerParameter"),
-  ("glScissorArrayv", "glScissorArray"),
-  ("glScissorIndexed", "glScissorIndexed"),
-  ("glScissorIndexedv", "glScissorIndexed"),
-  ("glScissor", "glScissor"),
-  ("glShaderBinary", "glShaderBinary"),
-  ("glShaderSource", "glShaderSource"),
-  ("glShaderStorageBlockBinding", "glShaderStorageBlockBinding"),
-  ("glStencilFuncSeparate", "glStencilFuncSeparate"),
-  ("glStencilFunc", "glStencilFunc"),
-  ("glStencilMaskSeparate", "glStencilMaskSeparate"),
-  ("glStencilMask", "glStencilMask"),
-  ("glStencilOpSeparate", "glStencilOpSeparate"),
-  ("glStencilOp", "glStencilOp"),
-  ("glTexBufferRange", "glTexBufferRange"),
-  ("glTextureBufferRange", "glTexBufferRange"),
-  ("glTexBuffer", "glTexBuffer"),
-  ("glTextureBuffer", "glTexBuffer"),
-  ("glTexImage1D", "glTexImage1D"),
-  ("glTexImage2DMultisample", "glTexImage2DMultisample"),
-  ("glTexImage2D", "glTexImage2D"),
-  ("glTexImage3DMultisample", "glTexImage3DMultisample"),
-  ("glTexImage3D", "glTexImage3D"),
-  ("glTexParameterf", "glTexParameter"),
-  ("glTexParameteri", "glTexParameter"),
-  ("glTextureParameterf", "glTexParameter"),
-  ("glTextureParameteri", "glTexParameter"),
-  ("glTexParameterfv", "glTexParameter"),
-  ("glTexParameteriv", "glTexParameter"),
-  ("glTexParameterIiv", "glTexParameter"),
-  ("glTexParameterIuiv", "glTexParameter"),
-  ("glTextureParameterfv", "glTexParameter"),
-  ("glTextureParameteriv", "glTexParameter"),
-  ("glTextureParameterIiv", "glTexParameter"),
-  ("glTextureParameterIuiv", "glTexParameter"),
-  ("glTexStorage1D", "glTexStorage1D"),
-  ("glTextureStorage1D", "glTexStorage1D"),
-  ("glTexStorage2DMultisample", "glTexStorage2DMultisample"),
-  ("glTextureStorage2DMultisample", "glTexStorage2DMultisample"),
-  ("glTexStorage2D", "glTexStorage2D"),
-  ("glTextureStorage2D", "glTexStorage2D"),
-  ("glTexStorage3DMultisample", "glTexStorage3DMultisample"),
-  ("glTextureStorage3DMultisample", "glTexStorage3DMultisample"),
-  ("glTexStorage3D", "glTexStorage3D"),
-  ("glTextureStorage3D", "glTexStorage3D"),
-  ("glTexSubImage1D", "glTexSubImage1D"),
-  ("glTextureSubImage1D", "glTexSubImage1D"),
-  ("glTexSubImage2D", "glTexSubImage2D"),
-  ("glTextureSubImage2D", "glTexSubImage2D"),
-  ("glTexSubImage3D", "glTexSubImage3D"),
-  ("glTextureSubImage3D", "glTexSubImage3D"),
-  ("glTextureBarrier", "glTextureBarrier"),
-  ("glTextureView", "glTextureView"),
-  ("glTransformFeedbackBufferBase", "glTransformFeedbackBufferBase"),
-  ("glTransformFeedbackBufferRange", "glTransformFeedbackBufferRange"),
-  ("glTransformFeedbackVaryings", "glTransformFeedbackVaryings"),
-  ("glUniformBlockBinding", "glUniformBlockBinding"),
-  ("glUniformSubroutinesuiv", "glUniformSubroutines"),
-  ("glUniform1f", "glUniform"),
-  ("glUniform2f", "glUniform"),
-  ("glUniform3f", "glUniform"),
-  ("glUniform4f", "glUniform"),
-  ("glUniform1i", "glUniform"),
-  ("glUniform2i", "glUniform"),
-  ("glUniform3i", "glUniform"),
-  ("glUniform4i", "glUniform"),
-  ("glUniform1ui", "glUniform"),
-  ("glUniform2ui", "glUniform"),
-  ("glUniform3ui", "glUniform"),
-  ("glUniform4ui", "glUniform"),
-  ("glUniform1fv", "glUniform"),
-  ("glUniform2fv", "glUniform"),
-  ("glUniform3fv", "glUniform"),
-  ("glUniform4fv", "glUniform"),
-  ("glUniform1iv", "glUniform"),
-  ("glUniform2iv", "glUniform"),
-  ("glUniform3iv", "glUniform"),
-  ("glUniform4iv", "glUniform"),
-  ("glUniform1uiv", "glUniform"),
-  ("glUniform2uiv", "glUniform"),
-  ("glUniform3uiv", "glUniform"),
-  ("glUniform4uiv", "glUniform"),
-  ("glUniformMatrix2fv", "glUniform"),
-  ("glUniformMatrix3fv", "glUniform"),
-  ("glUniformMatrix4fv", "glUniform"),
-  ("glUniformMatrix2x3fv", "glUniform"),
-  ("glUniformMatrix3x2fv", "glUniform"),
-  ("glUniformMatrix2x4fv", "glUniform"),
-  ("glUniformMatrix4x2fv", "glUniform"),
-  ("glUniformMatrix3x4fv", "glUniform"),
-  ("glUniformMatrix4x3fv", "glUniform"),
-  ("glUnmapBuffer", "glUnmapBuffer"),
-  ("glUnmapNamedBuffer", "glUnmapBuffer"),
-  ("glUseProgramStages", "glUseProgramStages"),
-  ("glUseProgram", "glUseProgram"),
-  ("glValidateProgramPipeline", "glValidateProgramPipeline"),
-  ("glValidateProgram", "glValidateProgram"),
-  ("glVertexArrayElementBuffer", "glVertexArrayElementBuffer"),
-  ("glVertexAttribBinding", "glVertexAttribBinding"),
-  ("glVertexArrayAttribBinding", "glVertexAttribBinding"),
-  ("glVertexAttribDivisor", "glVertexAttribDivisor"),
-  ("glVertexAttribFormat", "glVertexAttribFormat"),
-  ("glVertexAttribIFormat", "glVertexAttribFormat"),
-  ("glVertexAttribLFormat", "glVertexAttribFormat"),
-  ("glVertexArrayAttribFormat", "glVertexAttribFormat"),
-  ("glVertexArrayAttribIFormat", "glVertexAttribFormat"),
-  ("glVertexArrayAttribLFormat", "glVertexAttribFormat"),
-  ("glVertexAttribPointer", "glVertexAttribPointer"),
-  ("glVertexAttribIPointer", "glVertexAttribPointer"),
-  ("glVertexAttribLPointer", "glVertexAttribPointer"),
-  ("glVertexAttrib1f", "glVertexAttrib"),
-  ("glVertexAttrib1s", "glVertexAttrib"),
-  ("glVertexAttrib1d", "glVertexAttrib"),
-  ("glVertexAttribI1i", "glVertexAttrib"),
-  ("glVertexAttribI1ui", "glVertexAttrib"),
-  ("glVertexAttrib2f", "glVertexAttrib"),
-  ("glVertexAttrib2s", "glVertexAttrib"),
-  ("glVertexAttrib2d", "glVertexAttrib"),
-  ("glVertexAttribI2i", "glVertexAttrib"),
-  ("glVertexAttribI2ui", "glVertexAttrib"),
-  ("glVertexAttrib3f", "glVertexAttrib"),
-  ("glVertexAttrib3s", "glVertexAttrib"),
-  ("glVertexAttrib3d", "glVertexAttrib"),
-  ("glVertexAttribI3i", "glVertexAttrib"),
-  ("glVertexAttribI3ui", "glVertexAttrib"),
-  ("glVertexAttrib4f", "glVertexAttrib"),
-  ("glVertexAttrib4s", "glVertexAttrib"),
-  ("glVertexAttrib4d", "glVertexAttrib"),
-  ("glVertexAttrib4Nub", "glVertexAttrib"),
-  ("glVertexAttribI4i", "glVertexAttrib"),
-  ("glVertexAttribI4ui", "glVertexAttrib"),
-  ("glVertexAttribL1d", "glVertexAttrib"),
-  ("glVertexAttribL2d", "glVertexAttrib"),
-  ("glVertexAttribL3d", "glVertexAttrib"),
-  ("glVertexAttribL4d", "glVertexAttrib"),
-  ("glVertexAttrib1fv", "glVertexAttrib"),
-  ("glVertexAttrib1sv", "glVertexAttrib"),
-  ("glVertexAttrib1dv", "glVertexAttrib"),
-  ("glVertexAttribI1iv", "glVertexAttrib"),
-  ("glVertexAttribI1uiv", "glVertexAttrib"),
-  ("glVertexAttrib2fv", "glVertexAttrib"),
-  ("glVertexAttrib2sv", "glVertexAttrib"),
-  ("glVertexAttrib2dv", "glVertexAttrib"),
-  ("glVertexAttribI2iv", "glVertexAttrib"),
-  ("glVertexAttribI2uiv", "glVertexAttrib"),
-  ("glVertexAttrib3fv", "glVertexAttrib"),
-  ("glVertexAttrib3sv", "glVertexAttrib"),
-  ("glVertexAttrib3dv", "glVertexAttrib"),
-  ("glVertexAttribI3iv", "glVertexAttrib"),
-  ("glVertexAttribI3uiv", "glVertexAttrib"),
-  ("glVertexAttrib4fv", "glVertexAttrib"),
-  ("glVertexAttrib4sv", "glVertexAttrib"),
-  ("glVertexAttrib4dv", "glVertexAttrib"),
-  ("glVertexAttrib4iv", "glVertexAttrib"),
-  ("glVertexAttrib4bv", "glVertexAttrib"),
-  ("glVertexAttrib4ubv", "glVertexAttrib"),
-  ("glVertexAttrib4usv", "glVertexAttrib"),
-  ("glVertexAttrib4uiv", "glVertexAttrib"),
-  ("glVertexAttrib4Nbv", "glVertexAttrib"),
-  ("glVertexAttrib4Nsv", "glVertexAttrib"),
-  ("glVertexAttrib4Niv", "glVertexAttrib"),
-  ("glVertexAttrib4Nubv", "glVertexAttrib"),
-  ("glVertexAttrib4Nusv", "glVertexAttrib"),
-  ("glVertexAttrib4Nuiv", "glVertexAttrib"),
-  ("glVertexAttribI4bv", "glVertexAttrib"),
-  ("glVertexAttribI4ubv", "glVertexAttrib"),
-  ("glVertexAttribI4sv", "glVertexAttrib"),
-  ("glVertexAttribI4usv", "glVertexAttrib"),
-  ("glVertexAttribI4iv", "glVertexAttrib"),
-  ("glVertexAttribI4uiv", "glVertexAttrib"),
-  ("glVertexAttribL1dv", "glVertexAttrib"),
-  ("glVertexAttribL2dv", "glVertexAttrib"),
-  ("glVertexAttribL3dv", "glVertexAttrib"),
-  ("glVertexAttribL4dv", "glVertexAttrib"),
-  ("glVertexAttribP1ui", "glVertexAttrib"),
-  ("glVertexAttribP2ui", "glVertexAttrib"),
-  ("glVertexAttribP3ui", "glVertexAttrib"),
-  ("glVertexAttribP4ui", "glVertexAttrib"),
-  ("glVertexBindingDivisor", "glVertexBindingDivisor"),
-  ("glVertexArrayBindingDivisor", "glVertexBindingDivisor"),
-  ("glViewportArrayv", "glViewportArray"),
-  ("glViewportIndexedf", "glViewportIndexed"),
-  ("glViewportIndexedfv", "glViewportIndexed"),
-  ("glViewport", "glViewport"),
-  ("glWaitSync", "glWaitSync")
-  ]
-
-entriesFor :: String -> Label -> String -> String -> [(String, String)] -> [(ManPageKey, [(URL, Label)])]
-entriesFor api label baseURL extension assocs =
-  [ ((API api, CommandName n), [(baseURL ++ u ++ extension, label)])
-  | (n, u) <- assocs ]
-
-manPageURLs :: M.Map ManPageKey [(URL, Label)]
-manPageURLs =
-  M.fromListWith (++) .
-  concat $
-  reverse [ assocsGL2, assocsGL3, assocsGL4, assocsGLX1 ]
+module ManPages
+  ( manPageURLs
+  ) where
+
+import qualified Data.Map as M
+import MangledRegistry (API(..), CommandName(..))
+
+type ManPageKey = (API, CommandName)
+
+type URL = String
+
+type Label = String
+
+assocsGL2 :: [(ManPageKey, [(URL, Label)])]
+assocsGL2 =
+  entriesFor
+    "gl"
+    "OpenGL 2.x"
+    "https://www.opengl.org/sdk/docs/man2/xhtml/"
+    ".xml"
+    [ ("glAccum", "glAccum")
+    , ("glActiveTexture", "glActiveTexture")
+    , ("glAlphaFunc", "glAlphaFunc")
+    , ("glAreTexturesResident", "glAreTexturesResident")
+    , ("glArrayElement", "glArrayElement")
+    , ("glAttachShader", "glAttachShader")
+    , ("glBeginQuery", "glBeginQuery")
+    , ("glEndQuery", "glBeginQuery")
+    , ("glBegin", "glBegin")
+    , ("glEnd", "glBegin")
+    , ("glBindAttribLocation", "glBindAttribLocation")
+    , ("glBindBuffer", "glBindBuffer")
+    , ("glBindTexture", "glBindTexture")
+    , ("glBitmap", "glBitmap")
+    , ("glBlendColor", "glBlendColor")
+    , ("glBlendEquationSeparate", "glBlendEquationSeparate")
+    , ("glBlendEquation", "glBlendEquation")
+    , ("glBlendFuncSeparate", "glBlendFuncSeparate")
+    , ("glBlendFunc", "glBlendFunc")
+    , ("glBufferData", "glBufferData")
+    , ("glBufferSubData", "glBufferSubData")
+    , ("glCallLists", "glCallLists")
+    , ("glCallList", "glCallList")
+    , ("glClearAccum", "glClearAccum")
+    , ("glClearColor", "glClearColor")
+    , ("glClearDepth", "glClearDepth")
+    , ("glClearIndex", "glClearIndex")
+    , ("glClearStencil", "glClearStencil")
+    , ("glClear", "glClear")
+    , ("glClientActiveTexture", "glClientActiveTexture")
+    , ("glClipPlane", "glClipPlane")
+    , ("glColorMask", "glColorMask")
+    , ("glColorMaterial", "glColorMaterial")
+    , ("glColorPointer", "glColorPointer")
+    , ("glColorSubTable", "glColorSubTable")
+    , ("glColorTableParameterfv", "glColorTableParameter")
+    , ("glColorTableParameteriv", "glColorTableParameter")
+    , ("glColorTable", "glColorTable")
+    , ("glColor3b", "glColor")
+    , ("glColor3s", "glColor")
+    , ("glColor3i", "glColor")
+    , ("glColor3f", "glColor")
+    , ("glColor3d", "glColor")
+    , ("glColor3ub", "glColor")
+    , ("glColor3us", "glColor")
+    , ("glColor3ui", "glColor")
+    , ("glColor4b", "glColor")
+    , ("glColor4s", "glColor")
+    , ("glColor4i", "glColor")
+    , ("glColor4f", "glColor")
+    , ("glColor4d", "glColor")
+    , ("glColor4ub", "glColor")
+    , ("glColor4us", "glColor")
+    , ("glColor4ui", "glColor")
+    , ("glColor3bv", "glColor")
+    , ("glColor3sv", "glColor")
+    , ("glColor3iv", "glColor")
+    , ("glColor3fv", "glColor")
+    , ("glColor3dv", "glColor")
+    , ("glColor3ubv", "glColor")
+    , ("glColor3usv", "glColor")
+    , ("glColor3uiv", "glColor")
+    , ("glColor4bv", "glColor")
+    , ("glColor4sv", "glColor")
+    , ("glColor4iv", "glColor")
+    , ("glColor4fv", "glColor")
+    , ("glColor4dv", "glColor")
+    , ("glColor4ubv", "glColor")
+    , ("glColor4usv", "glColor")
+    , ("glColor4uiv", "glColor")
+    , ("glCompileShader", "glCompileShader")
+    , ("glCompressedTexImage1D", "glCompressedTexImage1D")
+    , ("glCompressedTexImage2D", "glCompressedTexImage2D")
+    , ("glCompressedTexImage3D", "glCompressedTexImage3D")
+    , ("glCompressedTexSubImage1D", "glCompressedTexSubImage1D")
+    , ("glCompressedTexSubImage2D", "glCompressedTexSubImage2D")
+    , ("glCompressedTexSubImage3D", "glCompressedTexSubImage3D")
+    , ("glConvolutionFilter1D", "glConvolutionFilter1D")
+    , ("glConvolutionFilter2D", "glConvolutionFilter2D")
+    , ("glConvolutionParameterf", "glConvolutionParameter")
+    , ("glConvolutionParameteri", "glConvolutionParameter")
+    , ("glConvolutionParameterfv", "glConvolutionParameter")
+    , ("glConvolutionParameteriv", "glConvolutionParameter")
+    , ("glCopyColorSubTable", "glCopyColorSubTable")
+    , ("glCopyColorTable", "glCopyColorTable")
+    , ("glCopyConvolutionFilter1D", "glCopyConvolutionFilter1D")
+    , ("glCopyConvolutionFilter2D", "glCopyConvolutionFilter2D")
+    , ("glCopyPixels", "glCopyPixels")
+    , ("glCopyTexImage1D", "glCopyTexImage1D")
+    , ("glCopyTexImage2D", "glCopyTexImage2D")
+    , ("glCopyTexSubImage1D", "glCopyTexSubImage1D")
+    , ("glCopyTexSubImage2D", "glCopyTexSubImage2D")
+    , ("glCopyTexSubImage3D", "glCopyTexSubImage3D")
+    , ("glCreateProgram", "glCreateProgram")
+    , ("glCreateShader", "glCreateShader")
+    , ("glCullFace", "glCullFace")
+    , ("glDeleteBuffers", "glDeleteBuffers")
+    , ("glDeleteLists", "glDeleteLists")
+    , ("glDeleteProgram", "glDeleteProgram")
+    , ("glDeleteQueries", "glDeleteQueries")
+    , ("glDeleteShader", "glDeleteShader")
+    , ("glDeleteTextures", "glDeleteTextures")
+    , ("glDepthFunc", "glDepthFunc")
+    , ("glDepthMask", "glDepthMask")
+    , ("glDepthRange", "glDepthRange")
+    , ("glDetachShader", "glDetachShader")
+    , ("glDrawArrays", "glDrawArrays")
+    , ("glDrawBuffers", "glDrawBuffers")
+    , ("glDrawBuffer", "glDrawBuffer")
+    , ("glDrawElements", "glDrawElements")
+    , ("glDrawPixels", "glDrawPixels")
+    , ("glDrawRangeElements", "glDrawRangeElements")
+    , ("glEdgeFlagPointer", "glEdgeFlagPointer")
+    , ("glEdgeFlag", "glEdgeFlag")
+    , ("glEdgeFlagv", "glEdgeFlag")
+    , ("glEnableClientState", "glEnableClientState")
+    , ("glDisableClientState", "glEnableClientState")
+    , ("glEnableVertexAttribArray", "glEnableVertexAttribArray")
+    , ("glDisableVertexAttribArray", "glEnableVertexAttribArray")
+    , ("glEnable", "glEnable")
+    , ("glDisable", "glEnable")
+    , ("glEvalCoord1f", "glEvalCoord")
+    , ("glEvalCoord1d", "glEvalCoord")
+    , ("glEvalCoord2f", "glEvalCoord")
+    , ("glEvalCoord2d", "glEvalCoord")
+    , ("glEvalCoord1fv", "glEvalCoord")
+    , ("glEvalCoord1dv", "glEvalCoord")
+    , ("glEvalCoord2fv", "glEvalCoord")
+    , ("glEvalCoord2dv", "glEvalCoord")
+    , ("glEvalMesh1", "glEvalMesh")
+    , ("glEvalMesh2", "glEvalMesh")
+    , ("glEvalPoint1", "glEvalPoint")
+    , ("glEvalPoint2", "glEvalPoint")
+    , ("glFeedbackBuffer", "glFeedbackBuffer")
+    , ("glFinish", "glFinish")
+    , ("glFlush", "glFlush")
+    , ("glFogCoordPointer", "glFogCoordPointer")
+    , ("glFogCoordd", "glFogCoord")
+    , ("glFogCoordf", "glFogCoord")
+    , ("glFogCoorddv", "glFogCoord")
+    , ("glFogCoordfv", "glFogCoord")
+    , ("glFogf", "glFog")
+    , ("glFogi", "glFog")
+    , ("glFogfv", "glFog")
+    , ("glFogiv", "glFog")
+    , ("glFrontFace", "glFrontFace")
+    , ("glFrustum", "glFrustum")
+    , ("glGenBuffers", "glGenBuffers")
+    , ("glGenLists", "glGenLists")
+    , ("glGenQueries", "glGenQueries")
+    , ("glGenTextures", "glGenTextures")
+    , ("glGetActiveAttrib", "glGetActiveAttrib")
+    , ("glGetActiveUniform", "glGetActiveUniform")
+    , ("glGetAttachedShaders", "glGetAttachedShaders")
+    , ("glGetAttribLocation", "glGetAttribLocation")
+    , ("glGetBufferParameteriv", "glGetBufferParameteriv")
+    , ("glGetBufferPointerv", "glGetBufferPointerv")
+    , ("glGetBufferSubData", "glGetBufferSubData")
+    , ("glGetClipPlane", "glGetClipPlane")
+    , ("glGetColorTableParameterfv", "glGetColorTableParameter")
+    , ("glGetColorTableParameteriv", "glGetColorTableParameter")
+    , ("glGetColorTable", "glGetColorTable")
+    , ("glGetCompressedTexImage", "glGetCompressedTexImage")
+    , ("glGetConvolutionFilter", "glGetConvolutionFilter")
+    , ("glGetConvolutionParameterfv", "glGetConvolutionParameter")
+    , ("glGetConvolutionParameteriv", "glGetConvolutionParameter")
+    , ("glGetError", "glGetError")
+    , ("glGetHistogramParameterfv", "glGetHistogramParameter")
+    , ("glGetHistogramParameteriv", "glGetHistogramParameter")
+    , ("glGetHistogram", "glGetHistogram")
+    , ("glGetLightfv", "glGetLight")
+    , ("glGetLightiv", "glGetLight")
+    , ("glGetMapdv", "glGetMap")
+    , ("glGetMapfv", "glGetMap")
+    , ("glGetMapiv", "glGetMap")
+    , ("glGetMaterialfv", "glGetMaterial")
+    , ("glGetMaterialiv", "glGetMaterial")
+    , ("glGetMinmaxParameterfv", "glGetMinmaxParameter")
+    , ("glGetMinmaxParameteriv", "glGetMinmaxParameter")
+    , ("glGetMinmax", "glGetMinmax")
+    , ("glGetPixelMapfv", "glGetPixelMap")
+    , ("glGetPixelMapuiv", "glGetPixelMap")
+    , ("glGetPixelMapusv", "glGetPixelMap")
+    , ("glGetPointerv", "glGetPointerv")
+    , ("glGetPolygonStipple", "glGetPolygonStipple")
+    , ("glGetProgramInfoLog", "glGetProgramInfoLog")
+    , ("glGetProgramiv", "glGetProgram")
+    , ("glGetQueryiv", "glGetQueryiv")
+    , ("glGetQueryObjectiv", "glGetQueryObject")
+    , ("glGetQueryObjectuiv", "glGetQueryObject")
+    , ("glGetSeparableFilter", "glGetSeparableFilter")
+    , ("glGetShaderInfoLog", "glGetShaderInfoLog")
+    , ("glGetShaderSource", "glGetShaderSource")
+    , ("glGetShaderiv", "glGetShader")
+    , ("glGetString", "glGetString")
+    , ("glGetTexEnvfv", "glGetTexEnv")
+    , ("glGetTexEnviv", "glGetTexEnv")
+    , ("glGetTexGendv", "glGetTexGen")
+    , ("glGetTexGenfv", "glGetTexGen")
+    , ("glGetTexGeniv", "glGetTexGen")
+    , ("glGetTexImage", "glGetTexImage")
+    , ("glGetTexLevelParameterfv", "glGetTexLevelParameter")
+    , ("glGetTexLevelParameteriv", "glGetTexLevelParameter")
+    , ("glGetTexParameterfv", "glGetTexParameter")
+    , ("glGetTexParameteriv", "glGetTexParameter")
+    , ("glGetUniformLocation", "glGetUniformLocation")
+    , ("glGetUniformfv", "glGetUniform")
+    , ("glGetUniformiv", "glGetUniform")
+    , ("glGetVertexAttribPointerv", "glGetVertexAttribPointerv")
+    , ("glGetVertexAttribdv", "glGetVertexAttrib")
+    , ("glGetVertexAttribfv", "glGetVertexAttrib")
+    , ("glGetVertexAttribiv", "glGetVertexAttrib")
+    , ("glGetBooleanv", "glGet")
+    , ("glGetDoublev", "glGet")
+    , ("glGetFloatv", "glGet")
+    , ("glGetIntegerv", "glGet")
+    , ("glHint", "glHint")
+    , ("glHistogram", "glHistogram")
+    , ("glIndexMask", "glIndexMask")
+    , ("glIndexPointer", "glIndexPointer")
+    , ("glIndexs", "glIndex")
+    , ("glIndexi", "glIndex")
+    , ("glIndexf", "glIndex")
+    , ("glIndexd", "glIndex")
+    , ("glIndexub", "glIndex")
+    , ("glIndexsv", "glIndex")
+    , ("glIndexiv", "glIndex")
+    , ("glIndexfv", "glIndex")
+    , ("glIndexdv", "glIndex")
+    , ("glIndexubv", "glIndex")
+    , ("glInitNames", "glInitNames")
+    , ("glInterleavedArrays", "glInterleavedArrays")
+    , ("glIsBuffer", "glIsBuffer")
+    , ("glIsEnabled", "glIsEnabled")
+    , ("glIsList", "glIsList")
+    , ("glIsProgram", "glIsProgram")
+    , ("glIsQuery", "glIsQuery")
+    , ("glIsShader", "glIsShader")
+    , ("glIsTexture", "glIsTexture")
+    , ("glLightModelf", "glLightModel")
+    , ("glLightModeli", "glLightModel")
+    , ("glLightModelfv", "glLightModel")
+    , ("glLightModeliv", "glLightModel")
+    , ("glLightf", "glLight")
+    , ("glLighti", "glLight")
+    , ("glLightfv", "glLight")
+    , ("glLightiv", "glLight")
+    , ("glLineStipple", "glLineStipple")
+    , ("glLineWidth", "glLineWidth")
+    , ("glLinkProgram", "glLinkProgram")
+    , ("glListBase", "glListBase")
+    , ("glLoadIdentity", "glLoadIdentity")
+    , ("glLoadMatrixd", "glLoadMatrix")
+    , ("glLoadMatrixf", "glLoadMatrix")
+    , ("glLoadName", "glLoadName")
+    , ("glLoadTransposeMatrixd", "glLoadTransposeMatrix")
+    , ("glLoadTransposeMatrixf", "glLoadTransposeMatrix")
+    , ("glLogicOp", "glLogicOp")
+    , ("glMap1f", "glMap1")
+    , ("glMap1d", "glMap1")
+    , ("glMap2f", "glMap2")
+    , ("glMap2d", "glMap2")
+    , ("glMapBuffer", "glMapBuffer")
+    , ("glUnmapBuffer", "glMapBuffer")
+    , ("glMapGrid1d", "glMapGrid")
+    , ("glMapGrid1f", "glMapGrid")
+    , ("glMapGrid2d", "glMapGrid")
+    , ("glMapGrid2f", "glMapGrid")
+    , ("glMaterialf", "glMaterial")
+    , ("glMateriali", "glMaterial")
+    , ("glMaterialfv", "glMaterial")
+    , ("glMaterialiv", "glMaterial")
+    , ("glMatrixMode", "glMatrixMode")
+    , ("glMinmax", "glMinmax")
+    , ("glMultiDrawArrays", "glMultiDrawArrays")
+    , ("glMultiDrawElements", "glMultiDrawElements")
+    , ("glMultiTexCoord1s", "glMultiTexCoord")
+    , ("glMultiTexCoord1i", "glMultiTexCoord")
+    , ("glMultiTexCoord1f", "glMultiTexCoord")
+    , ("glMultiTexCoord1d", "glMultiTexCoord")
+    , ("glMultiTexCoord2s", "glMultiTexCoord")
+    , ("glMultiTexCoord2i", "glMultiTexCoord")
+    , ("glMultiTexCoord2f", "glMultiTexCoord")
+    , ("glMultiTexCoord2d", "glMultiTexCoord")
+    , ("glMultiTexCoord3s", "glMultiTexCoord")
+    , ("glMultiTexCoord3i", "glMultiTexCoord")
+    , ("glMultiTexCoord3f", "glMultiTexCoord")
+    , ("glMultiTexCoord3d", "glMultiTexCoord")
+    , ("glMultiTexCoord4s", "glMultiTexCoord")
+    , ("glMultiTexCoord4i", "glMultiTexCoord")
+    , ("glMultiTexCoord4f", "glMultiTexCoord")
+    , ("glMultiTexCoord4d", "glMultiTexCoord")
+    , ("glMultiTexCoord1sv", "glMultiTexCoord")
+    , ("glMultiTexCoord1iv", "glMultiTexCoord")
+    , ("glMultiTexCoord1fv", "glMultiTexCoord")
+    , ("glMultiTexCoord1dv", "glMultiTexCoord")
+    , ("glMultiTexCoord2sv", "glMultiTexCoord")
+    , ("glMultiTexCoord2iv", "glMultiTexCoord")
+    , ("glMultiTexCoord2fv", "glMultiTexCoord")
+    , ("glMultiTexCoord2dv", "glMultiTexCoord")
+    , ("glMultiTexCoord3sv", "glMultiTexCoord")
+    , ("glMultiTexCoord3iv", "glMultiTexCoord")
+    , ("glMultiTexCoord3fv", "glMultiTexCoord")
+    , ("glMultiTexCoord3dv", "glMultiTexCoord")
+    , ("glMultiTexCoord4sv", "glMultiTexCoord")
+    , ("glMultiTexCoord4iv", "glMultiTexCoord")
+    , ("glMultiTexCoord4fv", "glMultiTexCoord")
+    , ("glMultiTexCoord4dv", "glMultiTexCoord")
+    , ("glMultMatrixd", "glMultMatrix")
+    , ("glMultMatrixf", "glMultMatrix")
+    , ("glMultTransposeMatrixd", "glMultTransposeMatrix")
+    , ("glMultTransposeMatrixf", "glMultTransposeMatrix")
+    , ("glNewList", "glNewList")
+    , ("glEndList", "glNewList")
+    , ("glNormalPointer", "glNormalPointer")
+    , ("glNormal3b", "glNormal")
+    , ("glNormal3d", "glNormal")
+    , ("glNormal3f", "glNormal")
+    , ("glNormal3i", "glNormal")
+    , ("glNormal3s", "glNormal")
+    , ("glNormal3bv", "glNormal")
+    , ("glNormal3dv", "glNormal")
+    , ("glNormal3fv", "glNormal")
+    , ("glNormal3iv", "glNormal")
+    , ("glNormal3sv", "glNormal")
+    , ("glOrtho", "glOrtho")
+    , ("glPassThrough", "glPassThrough")
+    , ("glPixelMapfv", "glPixelMap")
+    , ("glPixelMapuiv", "glPixelMap")
+    , ("glPixelMapusv", "glPixelMap")
+    , ("glPixelStoref", "glPixelStore")
+    , ("glPixelStorei", "glPixelStore")
+    , ("glPixelTransferf", "glPixelTransfer")
+    , ("glPixelTransferi", "glPixelTransfer")
+    , ("glPixelZoom", "glPixelZoom")
+    , ("glPointParameterf", "glPointParameter")
+    , ("glPointParameteri", "glPointParameter")
+    , ("glPointParameterfv", "glPointParameter")
+    , ("glPointParameteriv", "glPointParameter")
+    , ("glPointSize", "glPointSize")
+    , ("glPolygonMode", "glPolygonMode")
+    , ("glPolygonOffset", "glPolygonOffset")
+    , ("glPolygonStipple", "glPolygonStipple")
+    , ("glPrioritizeTextures", "glPrioritizeTextures")
+    , ("glPushAttrib", "glPushAttrib")
+    , ("glPopAttrib", "glPushAttrib")
+    , ("glPushClientAttrib", "glPushClientAttrib")
+    , ("glPopClientAttrib", "glPushClientAttrib")
+    , ("glPushMatrix", "glPushMatrix")
+    , ("glPopMatrix", "glPushMatrix")
+    , ("glPushName", "glPushName")
+    , ("glPopName", "glPushName")
+    , ("glRasterPos2s", "glRasterPos")
+    , ("glRasterPos2i", "glRasterPos")
+    , ("glRasterPos2f", "glRasterPos")
+    , ("glRasterPos2d", "glRasterPos")
+    , ("glRasterPos3s", "glRasterPos")
+    , ("glRasterPos3i", "glRasterPos")
+    , ("glRasterPos3f", "glRasterPos")
+    , ("glRasterPos3d", "glRasterPos")
+    , ("glRasterPos4s", "glRasterPos")
+    , ("glRasterPos4i", "glRasterPos")
+    , ("glRasterPos4f", "glRasterPos")
+    , ("glRasterPos4d", "glRasterPos")
+    , ("glRasterPos2sv", "glRasterPos")
+    , ("glRasterPos2iv", "glRasterPos")
+    , ("glRasterPos2fv", "glRasterPos")
+    , ("glRasterPos2dv", "glRasterPos")
+    , ("glRasterPos3sv", "glRasterPos")
+    , ("glRasterPos3iv", "glRasterPos")
+    , ("glRasterPos3fv", "glRasterPos")
+    , ("glRasterPos3dv", "glRasterPos")
+    , ("glRasterPos4sv", "glRasterPos")
+    , ("glRasterPos4iv", "glRasterPos")
+    , ("glRasterPos4fv", "glRasterPos")
+    , ("glRasterPos4dv", "glRasterPos")
+    , ("glReadBuffer", "glReadBuffer")
+    , ("glReadPixels", "glReadPixels")
+    , ("glRectd", "glRect")
+    , ("glRectf", "glRect")
+    , ("glRecti", "glRect")
+    , ("glRects", "glRect")
+    , ("glRectdv", "glRect")
+    , ("glRectfv", "glRect")
+    , ("glRectiv", "glRect")
+    , ("glRectsv", "glRect")
+    , ("glRenderMode", "glRenderMode")
+    , ("glResetHistogram", "glResetHistogram")
+    , ("glResetMinmax", "glResetMinmax")
+    , ("glRotated", "glRotate")
+    , ("glRotatef", "glRotate")
+    , ("glSampleCoverage", "glSampleCoverage")
+    , ("glScaled", "glScale")
+    , ("glScalef", "glScale")
+    , ("glScissor", "glScissor")
+    , ("glSecondaryColorPointer", "glSecondaryColorPointer")
+    , ("glSecondaryColor3b", "glSecondaryColor")
+    , ("glSecondaryColor3s", "glSecondaryColor")
+    , ("glSecondaryColor3i", "glSecondaryColor")
+    , ("glSecondaryColor3f", "glSecondaryColor")
+    , ("glSecondaryColor3d", "glSecondaryColor")
+    , ("glSecondaryColor3ub", "glSecondaryColor")
+    , ("glSecondaryColor3us", "glSecondaryColor")
+    , ("glSecondaryColor3ui", "glSecondaryColor")
+    , ("glSecondaryColor3bv", "glSecondaryColor")
+    , ("glSecondaryColor3sv", "glSecondaryColor")
+    , ("glSecondaryColor3iv", "glSecondaryColor")
+    , ("glSecondaryColor3fv", "glSecondaryColor")
+    , ("glSecondaryColor3dv", "glSecondaryColor")
+    , ("glSecondaryColor3ubv", "glSecondaryColor")
+    , ("glSecondaryColor3usv", "glSecondaryColor")
+    , ("glSecondaryColor3uiv", "glSecondaryColor")
+    , ("glSelectBuffer", "glSelectBuffer")
+    , ("glSeparableFilter2D", "glSeparableFilter2D")
+    , ("glShadeModel", "glShadeModel")
+    , ("glShaderSource", "glShaderSource")
+    , ("glStencilFuncSeparate", "glStencilFuncSeparate")
+    , ("glStencilFunc", "glStencilFunc")
+    , ("glStencilMaskSeparate", "glStencilMaskSeparate")
+    , ("glStencilMask", "glStencilMask")
+    , ("glStencilOpSeparate", "glStencilOpSeparate")
+    , ("glStencilOp", "glStencilOp")
+    , ("glTexCoordPointer", "glTexCoordPointer")
+    , ("glTexCoord1s", "glTexCoord")
+    , ("glTexCoord1i", "glTexCoord")
+    , ("glTexCoord1f", "glTexCoord")
+    , ("glTexCoord1d", "glTexCoord")
+    , ("glTexCoord2s", "glTexCoord")
+    , ("glTexCoord2i", "glTexCoord")
+    , ("glTexCoord2f", "glTexCoord")
+    , ("glTexCoord2d", "glTexCoord")
+    , ("glTexCoord3s", "glTexCoord")
+    , ("glTexCoord3i", "glTexCoord")
+    , ("glTexCoord3f", "glTexCoord")
+    , ("glTexCoord3d", "glTexCoord")
+    , ("glTexCoord4s", "glTexCoord")
+    , ("glTexCoord4i", "glTexCoord")
+    , ("glTexCoord4f", "glTexCoord")
+    , ("glTexCoord4d", "glTexCoord")
+    , ("glTexCoord1sv", "glTexCoord")
+    , ("glTexCoord1iv", "glTexCoord")
+    , ("glTexCoord1fv", "glTexCoord")
+    , ("glTexCoord1dv", "glTexCoord")
+    , ("glTexCoord2sv", "glTexCoord")
+    , ("glTexCoord2iv", "glTexCoord")
+    , ("glTexCoord2fv", "glTexCoord")
+    , ("glTexCoord2dv", "glTexCoord")
+    , ("glTexCoord3sv", "glTexCoord")
+    , ("glTexCoord3iv", "glTexCoord")
+    , ("glTexCoord3fv", "glTexCoord")
+    , ("glTexCoord3dv", "glTexCoord")
+    , ("glTexCoord4sv", "glTexCoord")
+    , ("glTexCoord4iv", "glTexCoord")
+    , ("glTexCoord4fv", "glTexCoord")
+    , ("glTexCoord4dv", "glTexCoord")
+    , ("glTexEnvf", "glTexEnv")
+    , ("glTexEnvi", "glTexEnv")
+    , ("glTexEnvfv", "glTexEnv")
+    , ("glTexEnviv", "glTexEnv")
+    , ("glTexGeni", "glTexGen")
+    , ("glTexGenf", "glTexGen")
+    , ("glTexGend", "glTexGen")
+    , ("glTexGeniv", "glTexGen")
+    , ("glTexGenfv", "glTexGen")
+    , ("glTexGendv", "glTexGen")
+    , ("glTexImage1D", "glTexImage1D")
+    , ("glTexImage2D", "glTexImage2D")
+    , ("glTexImage3D", "glTexImage3D")
+    , ("glTexParameterf", "glTexParameter")
+    , ("glTexParameteri", "glTexParameter")
+    , ("glTexParameterfv", "glTexParameter")
+    , ("glTexParameteriv", "glTexParameter")
+    , ("glTexSubImage1D", "glTexSubImage1D")
+    , ("glTexSubImage2D", "glTexSubImage2D")
+    , ("glTexSubImage3D", "glTexSubImage3D")
+    , ("glTranslated", "glTranslate")
+    , ("glTranslatef", "glTranslate")
+    , ("gluBeginCurve", "gluBeginCurve")
+    , ("gluEndCurve", "gluBeginCurve")
+    , ("gluBeginPolygon", "gluBeginPolygon")
+    , ("gluEndPolygon", "gluBeginPolygon")
+    , ("gluBeginSurface", "gluBeginSurface")
+    , ("gluEndSurface", "gluBeginSurface")
+    , ("gluBeginTrim", "gluBeginTrim")
+    , ("gluEndTrim", "gluBeginTrim")
+    , ("gluBuild1DMipmapLevels", "gluBuild1DMipmapLevels")
+    , ("gluBuild1DMipmaps", "gluBuild1DMipmaps")
+    , ("gluBuild2DMipmapLevels", "gluBuild2DMipmapLevels")
+    , ("gluBuild2DMipmaps", "gluBuild2DMipmaps")
+    , ("gluBuild3DMipmapLevels", "gluBuild3DMipmapLevels")
+    , ("gluBuild3DMipmaps", "gluBuild3DMipmaps")
+    , ("gluCheckExtension", "gluCheckExtension")
+    , ("gluCylinder", "gluCylinder")
+    , ("gluDeleteNurbsRenderer", "gluDeleteNurbsRenderer")
+    , ("gluDeleteQuadric", "gluDeleteQuadric")
+    , ("gluDeleteTess", "gluDeleteTess")
+    , ("gluDisk", "gluDisk")
+    , ("gluErrorString", "gluErrorString")
+    , ("gluGetNurbsProperty", "gluGetNurbsProperty")
+    , ("gluGetString", "gluGetString")
+    , ("gluGetTessProperty", "gluGetTessProperty")
+    , ("gluLoadSamplingMatrices", "gluLoadSamplingMatrices")
+    , ("gluLookAt", "gluLookAt")
+    , ("gluNewNurbsRenderer", "gluNewNurbsRenderer")
+    , ("gluNewQuadric", "gluNewQuadric")
+    , ("gluNewTess", "gluNewTess")
+    , ("gluNextContour", "gluNextContour")
+    , ("glUniform1f", "glUniform")
+    , ("glUniform2f", "glUniform")
+    , ("glUniform3f", "glUniform")
+    , ("glUniform4f", "glUniform")
+    , ("glUniform1i", "glUniform")
+    , ("glUniform2i", "glUniform")
+    , ("glUniform3i", "glUniform")
+    , ("glUniform4i", "glUniform")
+    , ("glUniform1fv", "glUniform")
+    , ("glUniform2fv", "glUniform")
+    , ("glUniform3fv", "glUniform")
+    , ("glUniform4fv", "glUniform")
+    , ("glUniform1iv", "glUniform")
+    , ("glUniform2iv", "glUniform")
+    , ("glUniform3iv", "glUniform")
+    , ("glUniform4iv", "glUniform")
+    , ("glUniformMatrix2fv", "glUniform")
+    , ("glUniformMatrix3fv", "glUniform")
+    , ("glUniformMatrix4fv", "glUniform")
+    , ("glUniformMatrix2x3fv", "glUniform")
+    , ("glUniformMatrix3x2fv", "glUniform")
+    , ("glUniformMatrix2x4fv", "glUniform")
+    , ("glUniformMatrix4x2fv", "glUniform")
+    , ("glUniformMatrix3x4fv", "glUniform")
+    , ("glUniformMatrix4x3fv", "glUniform")
+    , ("gluNurbsCallbackDataEXT", "gluNurbsCallbackDataEXT")
+    , ("gluNurbsCallbackData", "gluNurbsCallbackData")
+    , ("gluNurbsCallback", "gluNurbsCallback")
+    , ("gluNurbsCurve", "gluNurbsCurve")
+    , ("gluNurbsProperty", "gluNurbsProperty")
+    , ("gluNurbsSurface", "gluNurbsSurface")
+    , ("gluOrtho2D", "gluOrtho2D")
+    , ("gluPartialDisk", "gluPartialDisk")
+    , ("gluPerspective", "gluPerspective")
+    , ("gluPickMatrix", "gluPickMatrix")
+    , ("gluProject", "gluProject")
+    , ("gluPwlCurve", "gluPwlCurve")
+    , ("gluQuadricCallback", "gluQuadricCallback")
+    , ("gluQuadricDrawStyle", "gluQuadricDrawStyle")
+    , ("gluQuadricNormals", "gluQuadricNormals")
+    , ("gluQuadricOrientation", "gluQuadricOrientation")
+    , ("gluQuadricTexture", "gluQuadricTexture")
+    , ("gluScaleImage", "gluScaleImage")
+    , ("glUseProgram", "glUseProgram")
+    , ("gluSphere", "gluSphere")
+    , ("gluTessBeginContour", "gluTessBeginContour")
+    , ("gluTessEndContour", "gluTessBeginContour")
+    , ("gluTessBeginPolygon", "gluTessBeginPolygon")
+    , ("gluTessCallback", "gluTessCallback")
+    , ("gluTessEndPolygon", "gluTessEndPolygon")
+    , ("gluTessNormal", "gluTessNormal")
+    , ("gluTessProperty", "gluTessProperty")
+    , ("gluTessVertex", "gluTessVertex")
+    , ("gluUnProject4", "gluUnProject4")
+    , ("gluUnProject", "gluUnProject")
+    , ("glValidateProgram", "glValidateProgram")
+    , ("glVertexAttribPointer", "glVertexAttribPointer")
+    , ("glVertexAttrib1f", "glVertexAttrib")
+    , ("glVertexAttrib1s", "glVertexAttrib")
+    , ("glVertexAttrib1d", "glVertexAttrib")
+    , ("glVertexAttrib2f", "glVertexAttrib")
+    , ("glVertexAttrib2s", "glVertexAttrib")
+    , ("glVertexAttrib2d", "glVertexAttrib")
+    , ("glVertexAttrib3f", "glVertexAttrib")
+    , ("glVertexAttrib3s", "glVertexAttrib")
+    , ("glVertexAttrib3d", "glVertexAttrib")
+    , ("glVertexAttrib4f", "glVertexAttrib")
+    , ("glVertexAttrib4s", "glVertexAttrib")
+    , ("glVertexAttrib4d", "glVertexAttrib")
+    , ("glVertexAttrib4Nub", "glVertexAttrib")
+    , ("glVertexAttrib1fv", "glVertexAttrib")
+    , ("glVertexAttrib1sv", "glVertexAttrib")
+    , ("glVertexAttrib1dv", "glVertexAttrib")
+    , ("glVertexAttrib2fv", "glVertexAttrib")
+    , ("glVertexAttrib2sv", "glVertexAttrib")
+    , ("glVertexAttrib2dv", "glVertexAttrib")
+    , ("glVertexAttrib3fv", "glVertexAttrib")
+    , ("glVertexAttrib3sv", "glVertexAttrib")
+    , ("glVertexAttrib3dv", "glVertexAttrib")
+    , ("glVertexAttrib4fv", "glVertexAttrib")
+    , ("glVertexAttrib4sv", "glVertexAttrib")
+    , ("glVertexAttrib4dv", "glVertexAttrib")
+    , ("glVertexAttrib4iv", "glVertexAttrib")
+    , ("glVertexAttrib4bv", "glVertexAttrib")
+    , ("glVertexAttrib4ubv", "glVertexAttrib")
+    , ("glVertexAttrib4usv", "glVertexAttrib")
+    , ("glVertexAttrib4uiv", "glVertexAttrib")
+    , ("glVertexAttrib4Nbv", "glVertexAttrib")
+    , ("glVertexAttrib4Nsv", "glVertexAttrib")
+    , ("glVertexAttrib4Niv", "glVertexAttrib")
+    , ("glVertexAttrib4Nubv", "glVertexAttrib")
+    , ("glVertexAttrib4Nusv", "glVertexAttrib")
+    , ("glVertexAttrib4Nuiv", "glVertexAttrib")
+    , ("glVertexPointer", "glVertexPointer")
+    , ("glVertex2s", "glVertex")
+    , ("glVertex2i", "glVertex")
+    , ("glVertex2f", "glVertex")
+    , ("glVertex2d", "glVertex")
+    , ("glVertex3s", "glVertex")
+    , ("glVertex3i", "glVertex")
+    , ("glVertex3f", "glVertex")
+    , ("glVertex3d", "glVertex")
+    , ("glVertex4s", "glVertex")
+    , ("glVertex4i", "glVertex")
+    , ("glVertex4f", "glVertex")
+    , ("glVertex4d", "glVertex")
+    , ("glVertex2sv", "glVertex")
+    , ("glVertex2iv", "glVertex")
+    , ("glVertex2fv", "glVertex")
+    , ("glVertex2dv", "glVertex")
+    , ("glVertex3sv", "glVertex")
+    , ("glVertex3iv", "glVertex")
+    , ("glVertex3fv", "glVertex")
+    , ("glVertex3dv", "glVertex")
+    , ("glVertex4sv", "glVertex")
+    , ("glVertex4iv", "glVertex")
+    , ("glVertex4fv", "glVertex")
+    , ("glVertex4dv", "glVertex")
+    , ("glViewport", "glViewport")
+    , ("glWindowPos2s", "glWindowPos")
+    , ("glWindowPos2i", "glWindowPos")
+    , ("glWindowPos2f", "glWindowPos")
+    , ("glWindowPos2d", "glWindowPos")
+    , ("glWindowPos3s", "glWindowPos")
+    , ("glWindowPos3i", "glWindowPos")
+    , ("glWindowPos3f", "glWindowPos")
+    , ("glWindowPos3d", "glWindowPos")
+    , ("glWindowPos2sv", "glWindowPos")
+    , ("glWindowPos2iv", "glWindowPos")
+    , ("glWindowPos2fv", "glWindowPos")
+    , ("glWindowPos2dv", "glWindowPos")
+    , ("glWindowPos3sv", "glWindowPos")
+    , ("glWindowPos3iv", "glWindowPos")
+    , ("glWindowPos3fv", "glWindowPos")
+    , ("glWindowPos3dv", "glWindowPos")
+    ]
+
+assocsGLX1 :: [(ManPageKey, [(URL, Label)])]
+assocsGLX1 =
+  entriesFor
+    "glx"
+    "GLX 1.x"
+    "https://www.opengl.org/sdk/docs/man2/xhtml/"
+    ".xml"
+    [ ("glXChooseFBConfig", "glXChooseFBConfig")
+    , ("glXChooseVisual", "glXChooseVisual")
+    , ("glXCopyContext", "glXCopyContext")
+    , ("glXCreateContext", "glXCreateContext")
+    , ("glXCreateGLXPixmap", "glXCreateGLXPixmap")
+    , ("glXCreateNewContext", "glXCreateNewContext")
+    , ("glXCreatePbuffer", "glXCreatePbuffer")
+    , ("glXCreatePixmap", "glXCreatePixmap")
+    , ("glXCreateWindow", "glXCreateWindow")
+    , ("glXDestroyContext", "glXDestroyContext")
+    , ("glXDestroyGLXPixmap", "glXDestroyGLXPixmap")
+    , ("glXDestroyPbuffer", "glXDestroyPbuffer")
+    , ("glXDestroyPixmap", "glXDestroyPixmap")
+    , ("glXDestroyWindow", "glXDestroyWindow")
+    , ("glXFreeContextEXT", "glXFreeContextEXT")
+    , ("glXGetClientString", "glXGetClientString")
+    , ("glXGetConfig", "glXGetConfig")
+    , ("glXGetContextIDEXT", "glXGetContextIDEXT")
+    , ("glXGetCurrentContext", "glXGetCurrentContext")
+    , ("glXGetCurrentDisplay", "glXGetCurrentDisplay")
+    , ("glXGetCurrentDrawable", "glXGetCurrentDrawable")
+    , ("glXGetCurrentReadDrawable", "glXGetCurrentReadDrawable")
+    , ("glXGetFBConfigAttrib", "glXGetFBConfigAttrib")
+    , ("glXGetFBConfigs", "glXGetFBConfigs")
+    , ("glXGetProcAddress", "glXGetProcAddress")
+    , ("glXGetSelectedEvent", "glXGetSelectedEvent")
+    , ("glXGetVisualFromFBConfig", "glXGetVisualFromFBConfig")
+    , ("glXImportContextEXT", "glXImportContextEXT")
+    , ("glXIsDirect", "glXIsDirect")
+    , ("glXMakeContextCurrent", "glXMakeContextCurrent")
+    , ("glXMakeCurrent", "glXMakeCurrent")
+    , ("glXQueryContextInfoEXT", "glXQueryContextInfoEXT")
+    , ("glXQueryContext", "glXQueryContext")
+    , ("glXQueryDrawable", "glXQueryDrawable")
+    , ("glXQueryExtensionsString", "glXQueryExtensionsString")
+    , ("glXQueryExtension", "glXQueryExtension")
+    , ("glXQueryServerString", "glXQueryServerString")
+    , ("glXQueryVersion", "glXQueryVersion")
+    , ("glXSelectEvent", "glXSelectEvent")
+    , ("glXSwapBuffers", "glXSwapBuffers")
+    , ("glXUseXFont", "glXUseXFont")
+    , ("glXWaitGL", "glXWaitGL")
+    , ("glXWaitX", "glXWaitX")
+    ]
+
+assocsGL3 :: [(ManPageKey, [(URL, Label)])]
+assocsGL3 =
+  entriesFor
+    "gl"
+    "OpenGL 3.x"
+    "https://www.opengl.org/sdk/docs/man3/xhtml/"
+    ".xml"
+    [ ("glActiveTexture", "glActiveTexture")
+    , ("glAttachShader", "glAttachShader")
+    , ("glBeginConditionalRender", "glBeginConditionalRender")
+    , ("glEndConditionalRender", "glBeginConditionalRender")
+    , ("glBeginQuery", "glBeginQuery")
+    , ("glEndQuery", "glBeginQuery")
+    , ("glBeginTransformFeedback", "glBeginTransformFeedback")
+    , ("glEndTransformFeedback", "glBeginTransformFeedback")
+    , ("glBindAttribLocation", "glBindAttribLocation")
+    , ("glBindBufferBase", "glBindBufferBase")
+    , ("glBindBufferRange", "glBindBufferRange")
+    , ("glBindBuffer", "glBindBuffer")
+    , ("glBindFragDataLocationIndexed", "glBindFragDataLocationIndexed")
+    , ("glBindFragDataLocation", "glBindFragDataLocation")
+    , ("glBindFramebuffer", "glBindFramebuffer")
+    , ("glBindRenderbuffer", "glBindRenderbuffer")
+    , ("glBindSampler", "glBindSampler")
+    , ("glBindTexture", "glBindTexture")
+    , ("glBindVertexArray", "glBindVertexArray")
+    , ("glBlendColor", "glBlendColor")
+    , ("glBlendEquationSeparate", "glBlendEquationSeparate")
+    , ("glBlendEquation", "glBlendEquation")
+    , ("glBlendFuncSeparate", "glBlendFuncSeparate")
+    , ("glBlendFunc", "glBlendFunc")
+    , ("glBlitFramebuffer", "glBlitFramebuffer")
+    , ("glBufferData", "glBufferData")
+    , ("glBufferSubData", "glBufferSubData")
+    , ("glCheckFramebufferStatus", "glCheckFramebufferStatus")
+    , ("glClampColor", "glClampColor")
+    , ("glClearBufferiv", "glClearBuffer")
+    , ("glClearBufferuiv", "glClearBuffer")
+    , ("glClearBufferfv", "glClearBuffer")
+    , ("glClearBufferfi", "glClearBuffer")
+    , ("glClearColor", "glClearColor")
+    , ("glClearDepth", "glClearDepth")
+    , ("glClearStencil", "glClearStencil")
+    , ("glClear", "glClear")
+    , ("glClientWaitSync", "glClientWaitSync")
+    , ("glColorMask", "glColorMask")
+    , ("glColorMaski", "glColorMask")
+    , ("glCompileShader", "glCompileShader")
+    , ("glCompressedTexImage1D", "glCompressedTexImage1D")
+    , ("glCompressedTexImage2D", "glCompressedTexImage2D")
+    , ("glCompressedTexImage3D", "glCompressedTexImage3D")
+    , ("glCompressedTexSubImage1D", "glCompressedTexSubImage1D")
+    , ("glCompressedTexSubImage2D", "glCompressedTexSubImage2D")
+    , ("glCompressedTexSubImage3D", "glCompressedTexSubImage3D")
+    , ("glCopyBufferSubData", "glCopyBufferSubData")
+    , ("glCopyTexImage1D", "glCopyTexImage1D")
+    , ("glCopyTexImage2D", "glCopyTexImage2D")
+    , ("glCopyTexSubImage1D", "glCopyTexSubImage1D")
+    , ("glCopyTexSubImage2D", "glCopyTexSubImage2D")
+    , ("glCopyTexSubImage3D", "glCopyTexSubImage3D")
+    , ("glCreateProgram", "glCreateProgram")
+    , ("glCreateShader", "glCreateShader")
+    , ("glCullFace", "glCullFace")
+    , ("glDeleteBuffers", "glDeleteBuffers")
+    , ("glDeleteFramebuffers", "glDeleteFramebuffers")
+    , ("glDeleteProgram", "glDeleteProgram")
+    , ("glDeleteQueries", "glDeleteQueries")
+    , ("glDeleteRenderbuffers", "glDeleteRenderbuffers")
+    , ("glDeleteSamplers", "glDeleteSamplers")
+    , ("glDeleteShader", "glDeleteShader")
+    , ("glDeleteSync", "glDeleteSync")
+    , ("glDeleteTextures", "glDeleteTextures")
+    , ("glDeleteVertexArrays", "glDeleteVertexArrays")
+    , ("glDepthFunc", "glDepthFunc")
+    , ("glDepthMask", "glDepthMask")
+    , ("glDepthRange", "glDepthRange")
+    , ("glDetachShader", "glDetachShader")
+    , ("glDrawArraysInstanced", "glDrawArraysInstanced")
+    , ("glDrawArrays", "glDrawArrays")
+    , ("glDrawBuffers", "glDrawBuffers")
+    , ("glDrawBuffer", "glDrawBuffer")
+    , ("glDrawElementsBaseVertex", "glDrawElementsBaseVertex")
+    , ("glDrawElementsInstancedBaseVertex", "glDrawElementsInstancedBaseVertex")
+    , ("glDrawElementsInstanced", "glDrawElementsInstanced")
+    , ("glDrawElements", "glDrawElements")
+    , ("glDrawRangeElementsBaseVertex", "glDrawRangeElementsBaseVertex")
+    , ("glDrawRangeElements", "glDrawRangeElements")
+    , ("glEnableVertexAttribArray", "glEnableVertexAttribArray")
+    , ("glDisableVertexAttribArray", "glEnableVertexAttribArray")
+    , ("glEnable", "glEnable")
+    , ("glDisable", "glEnable")
+    , ("glEnablei", "glEnable")
+    , ("glDisablei", "glEnable")
+    , ("glFenceSync", "glFenceSync")
+    , ("glFinish", "glFinish")
+    , ("glFlushMappedBufferRange", "glFlushMappedBufferRange")
+    , ("glFlush", "glFlush")
+    , ("glFramebufferRenderbuffer", "glFramebufferRenderbuffer")
+    , ("glFramebufferTextureLayer", "glFramebufferTextureLayer")
+    , ("glFramebufferTexture", "glFramebufferTexture")
+    , ("glFramebufferTexture1D", "glFramebufferTexture")
+    , ("glFramebufferTexture2D", "glFramebufferTexture")
+    , ("glFramebufferTexture3D", "glFramebufferTexture")
+    , ("glFrontFace", "glFrontFace")
+    , ("glGenBuffers", "glGenBuffers")
+    , ("glGenerateMipmap", "glGenerateMipmap")
+    , ("glGenFramebuffers", "glGenFramebuffers")
+    , ("glGenQueries", "glGenQueries")
+    , ("glGenRenderbuffers", "glGenRenderbuffers")
+    , ("glGenSamplers", "glGenSamplers")
+    , ("glGenTextures", "glGenTextures")
+    , ("glGenVertexArrays", "glGenVertexArrays")
+    , ("glGetActiveAttrib", "glGetActiveAttrib")
+    , ("glGetActiveUniformBlockName", "glGetActiveUniformBlockName")
+    , ("glGetActiveUniformBlockiv", "glGetActiveUniformBlock")
+    , ("glGetActiveUniformName", "glGetActiveUniformName")
+    , ("glGetActiveUniformsiv", "glGetActiveUniformsiv")
+    , ("glGetActiveUniform", "glGetActiveUniform")
+    , ("glGetAttachedShaders", "glGetAttachedShaders")
+    , ("glGetAttribLocation", "glGetAttribLocation")
+    , ("glGetBufferParameteriv", "glGetBufferParameter")
+    , ("glGetBufferParameteri64v", "glGetBufferParameter")
+    , ("glGetBufferPointerv", "glGetBufferPointerv")
+    , ("glGetBufferSubData", "glGetBufferSubData")
+    , ("glGetCompressedTexImage", "glGetCompressedTexImage")
+    , ("glGetError", "glGetError")
+    , ("glGetFragDataIndex", "glGetFragDataIndex")
+    , ("glGetFragDataLocation", "glGetFragDataLocation")
+    , ( "glGetFramebufferAttachmentParameteriv"
+      , "glGetFramebufferAttachmentParameter")
+    , ("glGetMultisamplefv", "glGetMultisample")
+    , ("glGetProgramInfoLog", "glGetProgramInfoLog")
+    , ("glGetProgramiv", "glGetProgram")
+    , ("glGetQueryiv", "glGetQueryiv")
+    , ("glGetQueryObjectiv", "glGetQueryObject")
+    , ("glGetQueryObjectuiv", "glGetQueryObject")
+    , ("glGetQueryObjecti64v", "glGetQueryObject")
+    , ("glGetQueryObjectui64v", "glGetQueryObject")
+    , ("glGetRenderbufferParameteriv", "glGetRenderbufferParameter")
+    , ("glGetSamplerParameterfv", "glGetSamplerParameter")
+    , ("glGetSamplerParameteriv", "glGetSamplerParameter")
+    , ("glGetSamplerParameterIiv", "glGetSamplerParameter")
+    , ("glGetSamplerParameterIuiv", "glGetSamplerParameter")
+    , ("glGetShaderInfoLog", "glGetShaderInfoLog")
+    , ("glGetShaderSource", "glGetShaderSource")
+    , ("glGetShaderiv", "glGetShader")
+    , ("glGetString", "glGetString")
+    , ("glGetStringi", "glGetString")
+    , ("glGetSynciv", "glGetSync")
+    , ("glGetTexImage", "glGetTexImage")
+    , ("glGetTexLevelParameterfv", "glGetTexLevelParameter")
+    , ("glGetTexLevelParameteriv", "glGetTexLevelParameter")
+    , ("glGetTexParameterfv", "glGetTexParameter")
+    , ("glGetTexParameteriv", "glGetTexParameter")
+    , ("glGetTexParameterIiv", "glGetTexParameter")
+    , ("glGetTexParameterIuiv", "glGetTexParameter")
+    , ("glGetTransformFeedbackVarying", "glGetTransformFeedbackVarying")
+    , ("glGetUniformBlockIndex", "glGetUniformBlockIndex")
+    , ("glGetUniformIndices", "glGetUniformIndices")
+    , ("glGetUniformLocation", "glGetUniformLocation")
+    , ("glGetUniformfv", "glGetUniform")
+    , ("glGetUniformiv", "glGetUniform")
+    , ("glGetUniformuiv", "glGetUniform")
+    , ("glGetVertexAttribPointerv", "glGetVertexAttribPointerv")
+    , ("glGetVertexAttribdv", "glGetVertexAttrib")
+    , ("glGetVertexAttribfv", "glGetVertexAttrib")
+    , ("glGetVertexAttribiv", "glGetVertexAttrib")
+    , ("glGetVertexAttribIiv", "glGetVertexAttrib")
+    , ("glGetVertexAttribIuiv", "glGetVertexAttrib")
+    , ("glGetBooleanv", "glGet")
+    , ("glGetDoublev", "glGet")
+    , ("glGetFloatv", "glGet")
+    , ("glGetIntegerv", "glGet")
+    , ("glGetInteger64v", "glGet")
+    , ("glGetBooleani_v", "glGet")
+    , ("glGetIntegeri_v", "glGet")
+    , ("glGetInteger64i_v", "glGet")
+    , ("glHint", "glHint")
+    , ("glIsBuffer", "glIsBuffer")
+    , ("glIsEnabled", "glIsEnabled")
+    , ("glIsEnabledi", "glIsEnabled")
+    , ("glIsFramebuffer", "glIsFramebuffer")
+    , ("glIsProgram", "glIsProgram")
+    , ("glIsQuery", "glIsQuery")
+    , ("glIsRenderbuffer", "glIsRenderbuffer")
+    , ("glIsSampler", "glIsSampler")
+    , ("glIsShader", "glIsShader")
+    , ("glIsSync", "glIsSync")
+    , ("glIsTexture", "glIsTexture")
+    , ("glIsVertexArray", "glIsVertexArray")
+    , ("glLineWidth", "glLineWidth")
+    , ("glLinkProgram", "glLinkProgram")
+    , ("glLogicOp", "glLogicOp")
+    , ("glMapBufferRange", "glMapBufferRange")
+    , ("glMapBuffer", "glMapBuffer")
+    , ("glUnmapBuffer", "glMapBuffer")
+    , ("glMultiDrawArrays", "glMultiDrawArrays")
+    , ("glMultiDrawElementsBaseVertex", "glMultiDrawElementsBaseVertex")
+    , ("glMultiDrawElements", "glMultiDrawElements")
+    , ("glPixelStoref", "glPixelStore")
+    , ("glPixelStorei", "glPixelStore")
+    , ("glPointParameterf", "glPointParameter")
+    , ("glPointParameteri", "glPointParameter")
+    , ("glPointParameterfv", "glPointParameter")
+    , ("glPointParameteriv", "glPointParameter")
+    , ("glPointSize", "glPointSize")
+    , ("glPolygonMode", "glPolygonMode")
+    , ("glPolygonOffset", "glPolygonOffset")
+    , ("glPrimitiveRestartIndex", "glPrimitiveRestartIndex")
+    , ("glProvokingVertex", "glProvokingVertex")
+    , ("glQueryCounter", "glQueryCounter")
+    , ("glReadBuffer", "glReadBuffer")
+    , ("glReadPixels", "glReadPixels")
+    , ("glRenderbufferStorageMultisample", "glRenderbufferStorageMultisample")
+    , ("glRenderbufferStorage", "glRenderbufferStorage")
+    , ("glSampleCoverage", "glSampleCoverage")
+    , ("glSampleMaski", "glSampleMaski")
+    , ("glSamplerParameterf", "glSamplerParameter")
+    , ("glSamplerParameteri", "glSamplerParameter")
+    , ("glSamplerParameterfv", "glSamplerParameter")
+    , ("glSamplerParameteriv", "glSamplerParameter")
+    , ("glSamplerParameterIiv", "glSamplerParameter")
+    , ("glSamplerParameterIuiv", "glSamplerParameter")
+    , ("glScissor", "glScissor")
+    , ("glShaderSource", "glShaderSource")
+    , ("glStencilFuncSeparate", "glStencilFuncSeparate")
+    , ("glStencilFunc", "glStencilFunc")
+    , ("glStencilMaskSeparate", "glStencilMaskSeparate")
+    , ("glStencilMask", "glStencilMask")
+    , ("glStencilOpSeparate", "glStencilOpSeparate")
+    , ("glStencilOp", "glStencilOp")
+    , ("glTexBuffer", "glTexBuffer")
+    , ("glTexImage1D", "glTexImage1D")
+    , ("glTexImage2DMultisample", "glTexImage2DMultisample")
+    , ("glTexImage2D", "glTexImage2D")
+    , ("glTexImage3DMultisample", "glTexImage3DMultisample")
+    , ("glTexImage3D", "glTexImage3D")
+    , ("glTexParameterf", "glTexParameter")
+    , ("glTexParameteri", "glTexParameter")
+    , ("glTexParameterfv", "glTexParameter")
+    , ("glTexParameteriv", "glTexParameter")
+    , ("glTexParameterIiv", "glTexParameter")
+    , ("glTexParameterIuiv", "glTexParameter")
+    , ("glTexSubImage1D", "glTexSubImage1D")
+    , ("glTexSubImage2D", "glTexSubImage2D")
+    , ("glTexSubImage3D", "glTexSubImage3D")
+    , ("glTransformFeedbackVaryings", "glTransformFeedbackVaryings")
+    , ("glUniformBlockBinding", "glUniformBlockBinding")
+    , ("glUniform1f", "glUniform")
+    , ("glUniform2f", "glUniform")
+    , ("glUniform3f", "glUniform")
+    , ("glUniform4f", "glUniform")
+    , ("glUniform1i", "glUniform")
+    , ("glUniform2i", "glUniform")
+    , ("glUniform3i", "glUniform")
+    , ("glUniform4i", "glUniform")
+    , ("glUniform1ui", "glUniform")
+    , ("glUniform2ui", "glUniform")
+    , ("glUniform3ui", "glUniform")
+    , ("glUniform4ui", "glUniform")
+    , ("glUniform1fv", "glUniform")
+    , ("glUniform2fv", "glUniform")
+    , ("glUniform3fv", "glUniform")
+    , ("glUniform4fv", "glUniform")
+    , ("glUniform1iv", "glUniform")
+    , ("glUniform2iv", "glUniform")
+    , ("glUniform3iv", "glUniform")
+    , ("glUniform4iv", "glUniform")
+    , ("glUniform1uiv", "glUniform")
+    , ("glUniform2uiv", "glUniform")
+    , ("glUniform3uiv", "glUniform")
+    , ("glUniform4uiv", "glUniform")
+    , ("glUniformMatrix2fv", "glUniform")
+    , ("glUniformMatrix3fv", "glUniform")
+    , ("glUniformMatrix4fv", "glUniform")
+    , ("glUniformMatrix2x3fv", "glUniform")
+    , ("glUniformMatrix3x2fv", "glUniform")
+    , ("glUniformMatrix2x4fv", "glUniform")
+    , ("glUniformMatrix4x2fv", "glUniform")
+    , ("glUniformMatrix3x4fv", "glUniform")
+    , ("glUniformMatrix4x3fv", "glUniform")
+    , ("glUseProgram", "glUseProgram")
+    , ("glValidateProgram", "glValidateProgram")
+    , ("glVertexAttribDivisor", "glVertexAttribDivisor")
+    , ("glVertexAttribPointer", "glVertexAttribPointer")
+    , ("glVertexAttribIPointer", "glVertexAttribPointer")
+    , ("glVertexAttrib1f", "glVertexAttrib")
+    , ("glVertexAttrib1s", "glVertexAttrib")
+    , ("glVertexAttrib1d", "glVertexAttrib")
+    , ("glVertexAttribI1i", "glVertexAttrib")
+    , ("glVertexAttribI1ui", "glVertexAttrib")
+    , ("glVertexAttrib2f", "glVertexAttrib")
+    , ("glVertexAttrib2s", "glVertexAttrib")
+    , ("glVertexAttrib2d", "glVertexAttrib")
+    , ("glVertexAttribI2i", "glVertexAttrib")
+    , ("glVertexAttribI2ui", "glVertexAttrib")
+    , ("glVertexAttrib3f", "glVertexAttrib")
+    , ("glVertexAttrib3s", "glVertexAttrib")
+    , ("glVertexAttrib3d", "glVertexAttrib")
+    , ("glVertexAttribI3i", "glVertexAttrib")
+    , ("glVertexAttribI3ui", "glVertexAttrib")
+    , ("glVertexAttrib4f", "glVertexAttrib")
+    , ("glVertexAttrib4s", "glVertexAttrib")
+    , ("glVertexAttrib4d", "glVertexAttrib")
+    , ("glVertexAttrib4Nub", "glVertexAttrib")
+    , ("glVertexAttribI4i", "glVertexAttrib")
+    , ("glVertexAttribI4ui", "glVertexAttrib")
+    , ("glVertexAttrib1fv", "glVertexAttrib")
+    , ("glVertexAttrib1sv", "glVertexAttrib")
+    , ("glVertexAttrib1dv", "glVertexAttrib")
+    , ("glVertexAttribI1iv", "glVertexAttrib")
+    , ("glVertexAttribI1uiv", "glVertexAttrib")
+    , ("glVertexAttrib2fv", "glVertexAttrib")
+    , ("glVertexAttrib2sv", "glVertexAttrib")
+    , ("glVertexAttrib2dv", "glVertexAttrib")
+    , ("glVertexAttribI2iv", "glVertexAttrib")
+    , ("glVertexAttribI2uiv", "glVertexAttrib")
+    , ("glVertexAttrib3fv", "glVertexAttrib")
+    , ("glVertexAttrib3sv", "glVertexAttrib")
+    , ("glVertexAttrib3dv", "glVertexAttrib")
+    , ("glVertexAttribI3iv", "glVertexAttrib")
+    , ("glVertexAttribI3uiv", "glVertexAttrib")
+    , ("glVertexAttrib4fv", "glVertexAttrib")
+    , ("glVertexAttrib4sv", "glVertexAttrib")
+    , ("glVertexAttrib4dv", "glVertexAttrib")
+    , ("glVertexAttrib4iv", "glVertexAttrib")
+    , ("glVertexAttrib4bv", "glVertexAttrib")
+    , ("glVertexAttrib4ubv", "glVertexAttrib")
+    , ("glVertexAttrib4usv", "glVertexAttrib")
+    , ("glVertexAttrib4uiv", "glVertexAttrib")
+    , ("glVertexAttrib4Nbv", "glVertexAttrib")
+    , ("glVertexAttrib4Nsv", "glVertexAttrib")
+    , ("glVertexAttrib4Niv", "glVertexAttrib")
+    , ("glVertexAttrib4Nubv", "glVertexAttrib")
+    , ("glVertexAttrib4Nusv", "glVertexAttrib")
+    , ("glVertexAttrib4Nuiv", "glVertexAttrib")
+    , ("glVertexAttribI4bv", "glVertexAttrib")
+    , ("glVertexAttribI4ubv", "glVertexAttrib")
+    , ("glVertexAttribI4sv", "glVertexAttrib")
+    , ("glVertexAttribI4usv", "glVertexAttrib")
+    , ("glVertexAttribI4iv", "glVertexAttrib")
+    , ("glVertexAttribI4uiv", "glVertexAttrib")
+    , ("glVertexAttribP1ui", "glVertexAttrib")
+    , ("glVertexAttribP2ui", "glVertexAttrib")
+    , ("glVertexAttribP3ui", "glVertexAttrib")
+    , ("glVertexAttribP4ui", "glVertexAttrib")
+    , ("glViewport", "glViewport")
+    , ("glWaitSync", "glWaitSync")
+    ]
+
+assocsGL4 :: [(ManPageKey, [(URL, Label)])]
+assocsGL4 =
+  entriesFor
+    "gl"
+    "OpenGL 4.x"
+    "https://www.opengl.org/sdk/docs/man4/html/"
+    ".xhtml"
+    [ ("glActiveShaderProgram", "glActiveShaderProgram")
+    , ("glActiveTexture", "glActiveTexture")
+    , ("glAttachShader", "glAttachShader")
+    , ("glBeginConditionalRender", "glBeginConditionalRender")
+    , ("glEndConditionalRender", "glBeginConditionalRender")
+    , ("glBeginQueryIndexed", "glBeginQueryIndexed")
+    , ("glEndQueryIndexed", "glBeginQueryIndexed")
+    , ("glBeginQuery", "glBeginQuery")
+    , ("glEndQuery", "glBeginQuery")
+    , ("glBeginTransformFeedback", "glBeginTransformFeedback")
+    , ("glEndTransformFeedback", "glBeginTransformFeedback")
+    , ("glBindAttribLocation", "glBindAttribLocation")
+    , ("glBindBufferBase", "glBindBufferBase")
+    , ("glBindBufferRange", "glBindBufferRange")
+    , ("glBindBuffersBase", "glBindBuffersBase")
+    , ("glBindBuffersRange", "glBindBuffersRange")
+    , ("glBindBuffer", "glBindBuffer")
+    , ("glBindFragDataLocationIndexed", "glBindFragDataLocationIndexed")
+    , ("glBindFragDataLocation", "glBindFragDataLocation")
+    , ("glBindFramebuffer", "glBindFramebuffer")
+    , ("glBindImageTextures", "glBindImageTextures")
+    , ("glBindImageTexture", "glBindImageTexture")
+    , ("glBindProgramPipeline", "glBindProgramPipeline")
+    , ("glBindRenderbuffer", "glBindRenderbuffer")
+    , ("glBindSamplers", "glBindSamplers")
+    , ("glBindSampler", "glBindSampler")
+    , ("glBindTextures", "glBindTextures")
+    , ("glBindTextureUnit", "glBindTextureUnit")
+    , ("glBindTexture", "glBindTexture")
+    , ("glBindTransformFeedback", "glBindTransformFeedback")
+    , ("glBindVertexArray", "glBindVertexArray")
+    , ("glBindVertexBuffers", "glBindVertexBuffers")
+    , ("glVertexArrayVertexBuffers", "glBindVertexBuffers")
+    , ("glBindVertexBuffer", "glBindVertexBuffer")
+    , ("glVertexArrayVertexBuffer", "glBindVertexBuffer")
+    , ("glBlendColor", "glBlendColor")
+    , ("glBlendEquationSeparate", "glBlendEquationSeparate")
+    , ("glBlendEquationSeparatei", "glBlendEquationSeparate")
+    , ("glBlendEquation", "glBlendEquation")
+    , ("glBlendEquationi", "glBlendEquation")
+    , ("glBlendFuncSeparate", "glBlendFuncSeparate")
+    , ("glBlendFuncSeparatei", "glBlendFuncSeparate")
+    , ("glBlendFunc", "glBlendFunc")
+    , ("glBlendFunci", "glBlendFunc")
+    , ("glBlitFramebuffer", "glBlitFramebuffer")
+    , ("glBlitNamedFramebuffer", "glBlitFramebuffer")
+    , ("glBufferData", "glBufferData")
+    , ("glNamedBufferData", "glBufferData")
+    , ("glBufferStorage", "glBufferStorage")
+    , ("glNamedBufferStorage", "glBufferStorage")
+    , ("glBufferSubData", "glBufferSubData")
+    , ("glNamedBufferSubData", "glBufferSubData")
+    , ("glCheckFramebufferStatus", "glCheckFramebufferStatus")
+    , ("glCheckNamedFramebufferStatus", "glCheckFramebufferStatus")
+    , ("glClampColor", "glClampColor")
+    , ("glClearBufferData", "glClearBufferData")
+    , ("glClearNamedBufferData", "glClearBufferData")
+    , ("glClearBufferSubData", "glClearBufferSubData")
+    , ("glClearNamedBufferSubData", "glClearBufferSubData")
+    , ("glClearBufferiv", "glClearBuffer")
+    , ("glClearBufferuiv", "glClearBuffer")
+    , ("glClearBufferfv", "glClearBuffer")
+    , ("glClearBufferfi", "glClearBuffer")
+    , ("glClearNamedFramebufferiv", "glClearBuffer")
+    , ("glClearNamedFramebufferuiv", "glClearBuffer")
+    , ("glClearNamedFramebufferfv", "glClearBuffer")
+    , ("glClearNamedFramebufferfi", "glClearBuffer")
+    , ("glClearColor", "glClearColor")
+    , ("glClearDepth", "glClearDepth")
+    , ("glClearDepthf", "glClearDepth")
+    , ("glClearStencil", "glClearStencil")
+    , ("glClearTexImage", "glClearTexImage")
+    , ("glClearTexSubImage", "glClearTexSubImage")
+    , ("glClear", "glClear")
+    , ("glClientWaitSync", "glClientWaitSync")
+    , ("glClipControl", "glClipControl")
+    , ("glColorMask", "glColorMask")
+    , ("glColorMaski", "glColorMask")
+    , ("glCompileShader", "glCompileShader")
+    , ("glCompressedTexImage1D", "glCompressedTexImage1D")
+    , ("glCompressedTexImage2D", "glCompressedTexImage2D")
+    , ("glCompressedTexImage3D", "glCompressedTexImage3D")
+    , ("glCompressedTexSubImage1D", "glCompressedTexSubImage1D")
+    , ("glCompressedTextureSubImage1D", "glCompressedTexSubImage1D")
+    , ("glCompressedTexSubImage2D", "glCompressedTexSubImage2D")
+    , ("glCompressedTextureSubImage2D", "glCompressedTexSubImage2D")
+    , ("glCompressedTexSubImage3D", "glCompressedTexSubImage3D")
+    , ("glCompressedTextureSubImage3D", "glCompressedTexSubImage3D")
+    , ("glCopyBufferSubData", "glCopyBufferSubData")
+    , ("glCopyNamedBufferSubData", "glCopyBufferSubData")
+    , ("glCopyImageSubData", "glCopyImageSubData")
+    , ("glCopyTexImage1D", "glCopyTexImage1D")
+    , ("glCopyTexImage2D", "glCopyTexImage2D")
+    , ("glCopyTexSubImage1D", "glCopyTexSubImage1D")
+    , ("glCopyTextureSubImage1D", "glCopyTexSubImage1D")
+    , ("glCopyTexSubImage2D", "glCopyTexSubImage2D")
+    , ("glCopyTextureSubImage2D", "glCopyTexSubImage2D")
+    , ("glCopyTexSubImage3D", "glCopyTexSubImage3D")
+    , ("glCopyTextureSubImage3D", "glCopyTexSubImage3D")
+    , ("glCreateBuffers", "glCreateBuffers")
+    , ("glCreateFramebuffers", "glCreateFramebuffers")
+    , ("glCreateProgramPipelines", "glCreateProgramPipelines")
+    , ("glCreateProgram", "glCreateProgram")
+    , ("glCreateQueries", "glCreateQueries")
+    , ("glCreateRenderbuffers", "glCreateRenderbuffers")
+    , ("glCreateSamplers", "glCreateSamplers")
+    , ("glCreateShaderProgramv", "glCreateShaderProgram")
+    , ("glCreateShader", "glCreateShader")
+    , ("glCreateTextures", "glCreateTextures")
+    , ("glCreateTransformFeedbacks", "glCreateTransformFeedbacks")
+    , ("glCreateVertexArrays", "glCreateVertexArrays")
+    , ("glCullFace", "glCullFace")
+    , ("glDebugMessageCallback", "glDebugMessageCallback")
+    , ("glDebugMessageControl", "glDebugMessageControl")
+    , ("glDebugMessageInsert", "glDebugMessageInsert")
+    , ("glDeleteBuffers", "glDeleteBuffers")
+    , ("glDeleteFramebuffers", "glDeleteFramebuffers")
+    , ("glDeleteProgramPipelines", "glDeleteProgramPipelines")
+    , ("glDeleteProgram", "glDeleteProgram")
+    , ("glDeleteQueries", "glDeleteQueries")
+    , ("glDeleteRenderbuffers", "glDeleteRenderbuffers")
+    , ("glDeleteSamplers", "glDeleteSamplers")
+    , ("glDeleteShader", "glDeleteShader")
+    , ("glDeleteSync", "glDeleteSync")
+    , ("glDeleteTextures", "glDeleteTextures")
+    , ("glDeleteTransformFeedbacks", "glDeleteTransformFeedbacks")
+    , ("glDeleteVertexArrays", "glDeleteVertexArrays")
+    , ("glDepthFunc", "glDepthFunc")
+    , ("glDepthMask", "glDepthMask")
+    , ("glDepthRangeArrayv", "glDepthRangeArray")
+    , ("glDepthRangeIndexed", "glDepthRangeIndexed")
+    , ("glDepthRange", "glDepthRange")
+    , ("glDepthRangef", "glDepthRange")
+    , ("glDetachShader", "glDetachShader")
+    , ("glDispatchComputeIndirect", "glDispatchComputeIndirect")
+    , ("glDispatchCompute", "glDispatchCompute")
+    , ("glDrawArraysIndirect", "glDrawArraysIndirect")
+    , ("glDrawArraysInstancedBaseInstance", "glDrawArraysInstancedBaseInstance")
+    , ("glDrawArraysInstanced", "glDrawArraysInstanced")
+    , ("glDrawArrays", "glDrawArrays")
+    , ("glDrawBuffers", "glDrawBuffers")
+    , ("glNamedFramebufferDrawBuffers", "glDrawBuffers")
+    , ("glDrawBuffer", "glDrawBuffer")
+    , ("glNamedFramebufferDrawBuffer", "glDrawBuffer")
+    , ("glDrawElementsBaseVertex", "glDrawElementsBaseVertex")
+    , ("glDrawElementsIndirect", "glDrawElementsIndirect")
+    , ( "glDrawElementsInstancedBaseInstance"
+      , "glDrawElementsInstancedBaseInstance")
+    , ( "glDrawElementsInstancedBaseVertexBaseInstance"
+      , "glDrawElementsInstancedBaseVertexBaseInstance")
+    , ("glDrawElementsInstancedBaseVertex", "glDrawElementsInstancedBaseVertex")
+    , ("glDrawElementsInstanced", "glDrawElementsInstanced")
+    , ("glDrawElements", "glDrawElements")
+    , ("glDrawRangeElementsBaseVertex", "glDrawRangeElementsBaseVertex")
+    , ("glDrawRangeElements", "glDrawRangeElements")
+    , ("glDrawTransformFeedbackInstanced", "glDrawTransformFeedbackInstanced")
+    , ( "glDrawTransformFeedbackStreamInstanced"
+      , "glDrawTransformFeedbackStreamInstanced")
+    , ("glDrawTransformFeedbackStream", "glDrawTransformFeedbackStream")
+    , ("glDrawTransformFeedback", "glDrawTransformFeedback")
+    , ("glEnableVertexAttribArray", "glEnableVertexAttribArray")
+    , ("glDisableVertexAttribArray", "glEnableVertexAttribArray")
+    , ("glEnableVertexArrayAttrib", "glEnableVertexAttribArray")
+    , ("glDisableVertexArrayAttrib", "glEnableVertexAttribArray")
+    , ("glEnable", "glEnable")
+    , ("glDisable", "glEnable")
+    , ("glEnablei", "glEnable")
+    , ("glDisablei", "glEnable")
+    , ("glFenceSync", "glFenceSync")
+    , ("glFinish", "glFinish")
+    , ("glFlushMappedBufferRange", "glFlushMappedBufferRange")
+    , ("glFlushMappedNamedBufferRange", "glFlushMappedBufferRange")
+    , ("glFlush", "glFlush")
+    , ("glFramebufferParameteri", "glFramebufferParameteri")
+    , ("glNamedFramebufferParameteri", "glFramebufferParameteri")
+    , ("glFramebufferRenderbuffer", "glFramebufferRenderbuffer")
+    , ("glNamedFramebufferRenderbuffer", "glFramebufferRenderbuffer")
+    , ("glFramebufferTextureLayer", "glFramebufferTextureLayer")
+    , ("glNamedFramebufferTextureLayer", "glFramebufferTextureLayer")
+    , ("glFramebufferTexture", "glFramebufferTexture")
+    , ("glFramebufferTexture1D", "glFramebufferTexture")
+    , ("glFramebufferTexture2D", "glFramebufferTexture")
+    , ("glFramebufferTexture3D", "glFramebufferTexture")
+    , ("glNamedFramebufferTexture", "glFramebufferTexture")
+    , ("glFrontFace", "glFrontFace")
+    , ("glGenBuffers", "glGenBuffers")
+    , ("glGenerateMipmap", "glGenerateMipmap")
+    , ("glGenerateTextureMipmap", "glGenerateMipmap")
+    , ("glGenFramebuffers", "glGenFramebuffers")
+    , ("glGenProgramPipelines", "glGenProgramPipelines")
+    , ("glGenQueries", "glGenQueries")
+    , ("glGenRenderbuffers", "glGenRenderbuffers")
+    , ("glGenSamplers", "glGenSamplers")
+    , ("glGenTextures", "glGenTextures")
+    , ("glGenTransformFeedbacks", "glGenTransformFeedbacks")
+    , ("glGenVertexArrays", "glGenVertexArrays")
+    , ("glGetActiveAtomicCounterBufferiv", "glGetActiveAtomicCounterBufferiv")
+    , ("glGetActiveAttrib", "glGetActiveAttrib")
+    , ("glGetActiveSubroutineName", "glGetActiveSubroutineName")
+    , ("glGetActiveSubroutineUniformName", "glGetActiveSubroutineUniformName")
+    , ("glGetActiveSubroutineUniformiv", "glGetActiveSubroutineUniform")
+    , ("glGetActiveUniformBlockName", "glGetActiveUniformBlockName")
+    , ("glGetActiveUniformBlockiv", "glGetActiveUniformBlock")
+    , ("glGetActiveUniformName", "glGetActiveUniformName")
+    , ("glGetActiveUniformsiv", "glGetActiveUniformsiv")
+    , ("glGetActiveUniform", "glGetActiveUniform")
+    , ("glGetAttachedShaders", "glGetAttachedShaders")
+    , ("glGetAttribLocation", "glGetAttribLocation")
+    , ("glGetBufferParameteriv", "glGetBufferParameter")
+    , ("glGetBufferParameteri64v", "glGetBufferParameter")
+    , ("glGetNamedBufferParameteriv", "glGetBufferParameter")
+    , ("glGetNamedBufferParameteri64v", "glGetBufferParameter")
+    , ("glGetBufferPointerv", "glGetBufferPointerv")
+    , ("glGetNamedBufferPointerv", "glGetBufferPointerv")
+    , ("glGetBufferSubData", "glGetBufferSubData")
+    , ("glGetNamedBufferSubData", "glGetBufferSubData")
+    , ("glGetCompressedTexImage", "glGetCompressedTexImage")
+    , ("glGetnCompressedTexImage", "glGetCompressedTexImage")
+    , ("glGetCompressedTextureImage", "glGetCompressedTexImage")
+    , ("glGetCompressedTextureSubImage", "glGetCompressedTextureSubImage")
+    , ("glGetDebugMessageLog", "glGetDebugMessageLog")
+    , ("glGetError", "glGetError")
+    , ("glGetFragDataIndex", "glGetFragDataIndex")
+    , ("glGetFragDataLocation", "glGetFragDataLocation")
+    , ( "glGetFramebufferAttachmentParameteriv"
+      , "glGetFramebufferAttachmentParameter")
+    , ( "glGetNamedFramebufferAttachmentParameteriv"
+      , "glGetFramebufferAttachmentParameter")
+    , ("glGetFramebufferParameteriv", "glGetFramebufferParameter")
+    , ("glGetNamedFramebufferParameteriv", "glGetFramebufferParameter")
+    , ("glGetGraphicsResetStatus", "glGetGraphicsResetStatus")
+    , ("glGetInternalformativ", "glGetInternalformat")
+    , ("glGetInternalformati64v", "glGetInternalformat")
+    , ("glGetMultisamplefv", "glGetMultisample")
+    , ("glGetObjectLabel", "glGetObjectLabel")
+    , ("glGetObjectPtrLabel", "glGetObjectPtrLabel")
+    , ("glGetPointerv", "glGetPointerv")
+    , ("glGetProgramBinary", "glGetProgramBinary")
+    , ("glGetProgramInfoLog", "glGetProgramInfoLog")
+    , ("glGetProgramInterfaceiv", "glGetProgramInterface")
+    , ("glGetProgramPipelineInfoLog", "glGetProgramPipelineInfoLog")
+    , ("glGetProgramPipelineiv", "glGetProgramPipeline")
+    , ("glGetProgramResourceIndex", "glGetProgramResourceIndex")
+    , ("glGetProgramResourceLocationIndex", "glGetProgramResourceLocationIndex")
+    , ("glGetProgramResourceLocation", "glGetProgramResourceLocation")
+    , ("glGetProgramResourceName", "glGetProgramResourceName")
+    , ("glGetProgramResourceiv", "glGetProgramResource")
+    , ("glGetProgramStageiv", "glGetProgramStage")
+    , ("glGetProgramiv", "glGetProgram")
+    , ("glGetQueryIndexediv", "glGetQueryIndexed")
+    , ("glGetQueryiv", "glGetQueryiv")
+    , ("glGetQueryObjectiv", "glGetQueryObject")
+    , ("glGetQueryObjectuiv", "glGetQueryObject")
+    , ("glGetQueryObjecti64v", "glGetQueryObject")
+    , ("glGetQueryObjectui64v", "glGetQueryObject")
+    , ("glGetRenderbufferParameteriv", "glGetRenderbufferParameter")
+    , ("glGetNamedRenderbufferParameteriv", "glGetRenderbufferParameter")
+    , ("glGetSamplerParameterfv", "glGetSamplerParameter")
+    , ("glGetSamplerParameteriv", "glGetSamplerParameter")
+    , ("glGetSamplerParameterIiv", "glGetSamplerParameter")
+    , ("glGetSamplerParameterIuiv", "glGetSamplerParameter")
+    , ("glGetShaderInfoLog", "glGetShaderInfoLog")
+    , ("glGetShaderPrecisionFormat", "glGetShaderPrecisionFormat")
+    , ("glGetShaderSource", "glGetShaderSource")
+    , ("glGetShaderiv", "glGetShader")
+    , ("glGetString", "glGetString")
+    , ("glGetStringi", "glGetString")
+    , ("glGetSubroutineIndex", "glGetSubroutineIndex")
+    , ("glGetSubroutineUniformLocation", "glGetSubroutineUniformLocation")
+    , ("glGetSynciv", "glGetSync")
+    , ("glGetTexImage", "glGetTexImage")
+    , ("glGetnTexImage", "glGetTexImage")
+    , ("glGetTextureImage", "glGetTexImage")
+    , ("glGetTexLevelParameterfv", "glGetTexLevelParameter")
+    , ("glGetTexLevelParameteriv", "glGetTexLevelParameter")
+    , ("glGetTextureLevelParameterfv", "glGetTexLevelParameter")
+    , ("glGetTextureLevelParameteriv", "glGetTexLevelParameter")
+    , ("glGetTexParameterfv", "glGetTexParameter")
+    , ("glGetTexParameteriv", "glGetTexParameter")
+    , ("glGetTexParameterIiv", "glGetTexParameter")
+    , ("glGetTexParameterIuiv", "glGetTexParameter")
+    , ("glGetTextureParameterfv", "glGetTexParameter")
+    , ("glGetTextureParameteriv", "glGetTexParameter")
+    , ("glGetTextureParameterIiv", "glGetTexParameter")
+    , ("glGetTextureParameterIuiv", "glGetTexParameter")
+    , ("glGetTextureSubImage", "glGetTextureSubImage")
+    , ("glGetTransformFeedbackVarying", "glGetTransformFeedbackVarying")
+    , ("glGetTransformFeedbackiv", "glGetTransformFeedback")
+    , ("glGetTransformFeedbacki_v", "glGetTransformFeedback")
+    , ("glGetTransformFeedbacki64_v", "glGetTransformFeedback")
+    , ("glGetUniformBlockIndex", "glGetUniformBlockIndex")
+    , ("glGetUniformIndices", "glGetUniformIndices")
+    , ("glGetUniformLocation", "glGetUniformLocation")
+    , ("glGetUniformSubroutineuiv", "glGetUniformSubroutine")
+    , ("glGetUniformfv", "glGetUniform")
+    , ("glGetUniformiv", "glGetUniform")
+    , ("glGetUniformuiv", "glGetUniform")
+    , ("glGetUniformdv", "glGetUniform")
+    , ("glGetnUniformfv", "glGetUniform")
+    , ("glGetnUniformiv", "glGetUniform")
+    , ("glGetnUniformuiv", "glGetUniform")
+    , ("glGetnUniformdv", "glGetUniform")
+    , ("glGetVertexArrayIndexed64iv", "glGetVertexArrayIndexed")
+    , ("glGetVertexArrayIndexediv", "glGetVertexArrayIndexed")
+    , ("glGetVertexArrayiv", "glGetVertexArrayiv")
+    , ("glGetVertexAttribPointerv", "glGetVertexAttribPointerv")
+    , ("glGetVertexAttribdv", "glGetVertexAttrib")
+    , ("glGetVertexAttribfv", "glGetVertexAttrib")
+    , ("glGetVertexAttribiv", "glGetVertexAttrib")
+    , ("glGetVertexAttribIiv", "glGetVertexAttrib")
+    , ("glGetVertexAttribIuiv", "glGetVertexAttrib")
+    , ("glGetVertexAttribLdv", "glGetVertexAttrib")
+    , ("glGetBooleanv", "glGet")
+    , ("glGetDoublev", "glGet")
+    , ("glGetFloatv", "glGet")
+    , ("glGetIntegerv", "glGet")
+    , ("glGetInteger64v", "glGet")
+    , ("glGetBooleani_v", "glGet")
+    , ("glGetIntegeri_v", "glGet")
+    , ("glGetFloati_v", "glGet")
+    , ("glGetDoublei_v", "glGet")
+    , ("glGetInteger64i_v", "glGet")
+    , ("glHint", "glHint")
+    , ("glInvalidateBufferData", "glInvalidateBufferData")
+    , ("glInvalidateBufferSubData", "glInvalidateBufferSubData")
+    , ("glInvalidateFramebuffer", "glInvalidateFramebuffer")
+    , ("glInvalidateNamedFramebufferData", "glInvalidateFramebuffer")
+    , ("glInvalidateSubFramebuffer", "glInvalidateSubFramebuffer")
+    , ("glInvalidateNamedFramebufferSubData", "glInvalidateSubFramebuffer")
+    , ("glInvalidateTexImage", "glInvalidateTexImage")
+    , ("glInvalidateTexSubImage", "glInvalidateTexSubImage")
+    , ("glIsBuffer", "glIsBuffer")
+    , ("glIsEnabled", "glIsEnabled")
+    , ("glIsEnabledi", "glIsEnabled")
+    , ("glIsFramebuffer", "glIsFramebuffer")
+    , ("glIsProgramPipeline", "glIsProgramPipeline")
+    , ("glIsProgram", "glIsProgram")
+    , ("glIsQuery", "glIsQuery")
+    , ("glIsRenderbuffer", "glIsRenderbuffer")
+    , ("glIsSampler", "glIsSampler")
+    , ("glIsShader", "glIsShader")
+    , ("glIsSync", "glIsSync")
+    , ("glIsTexture", "glIsTexture")
+    , ("glIsTransformFeedback", "glIsTransformFeedback")
+    , ("glIsVertexArray", "glIsVertexArray")
+    , ("glLineWidth", "glLineWidth")
+    , ("glLinkProgram", "glLinkProgram")
+    , ("glLogicOp", "glLogicOp")
+    , ("glMapBufferRange", "glMapBufferRange")
+    , ("glMapNamedBufferRange", "glMapBufferRange")
+    , ("glMapBuffer", "glMapBuffer")
+    , ("glMapNamedBuffer", "glMapBuffer")
+    , ("glMemoryBarrier", "glMemoryBarrier")
+    , ("glMemoryBarrierByRegion", "glMemoryBarrier")
+    , ("glMinSampleShading", "glMinSampleShading")
+    , ("glMultiDrawArraysIndirect", "glMultiDrawArraysIndirect")
+    , ("glMultiDrawArrays", "glMultiDrawArrays")
+    , ("glMultiDrawElementsBaseVertex", "glMultiDrawElementsBaseVertex")
+    , ("glMultiDrawElementsIndirect", "glMultiDrawElementsIndirect")
+    , ("glMultiDrawElements", "glMultiDrawElements")
+    , ("glObjectLabel", "glObjectLabel")
+    , ("glObjectPtrLabel", "glObjectPtrLabel")
+    , ("glPatchParameteri", "glPatchParameter")
+    , ("glPatchParameterfv", "glPatchParameter")
+    , ("glPauseTransformFeedback", "glPauseTransformFeedback")
+    , ("glPixelStoref", "glPixelStore")
+    , ("glPixelStorei", "glPixelStore")
+    , ("glPointParameterf", "glPointParameter")
+    , ("glPointParameteri", "glPointParameter")
+    , ("glPointParameterfv", "glPointParameter")
+    , ("glPointParameteriv", "glPointParameter")
+    , ("glPointSize", "glPointSize")
+    , ("glPolygonMode", "glPolygonMode")
+    , ("glPolygonOffset", "glPolygonOffset")
+    , ("glPopDebugGroup", "glPopDebugGroup")
+    , ("glPrimitiveRestartIndex", "glPrimitiveRestartIndex")
+    , ("glProgramBinary", "glProgramBinary")
+    , ("glProgramParameteri", "glProgramParameter")
+    , ("glProgramUniform1f", "glProgramUniform")
+    , ("glProgramUniform2f", "glProgramUniform")
+    , ("glProgramUniform3f", "glProgramUniform")
+    , ("glProgramUniform4f", "glProgramUniform")
+    , ("glProgramUniform1i", "glProgramUniform")
+    , ("glProgramUniform2i", "glProgramUniform")
+    , ("glProgramUniform3i", "glProgramUniform")
+    , ("glProgramUniform4i", "glProgramUniform")
+    , ("glProgramUniform1ui", "glProgramUniform")
+    , ("glProgramUniform2ui", "glProgramUniform")
+    , ("glProgramUniform3ui", "glProgramUniform")
+    , ("glProgramUniform4ui", "glProgramUniform")
+    , ("glProgramUniform1fv", "glProgramUniform")
+    , ("glProgramUniform2fv", "glProgramUniform")
+    , ("glProgramUniform3fv", "glProgramUniform")
+    , ("glProgramUniform4fv", "glProgramUniform")
+    , ("glProgramUniform1iv", "glProgramUniform")
+    , ("glProgramUniform2iv", "glProgramUniform")
+    , ("glProgramUniform3iv", "glProgramUniform")
+    , ("glProgramUniform4iv", "glProgramUniform")
+    , ("glProgramUniform1uiv", "glProgramUniform")
+    , ("glProgramUniform2uiv", "glProgramUniform")
+    , ("glProgramUniform3uiv", "glProgramUniform")
+    , ("glProgramUniform4uiv", "glProgramUniform")
+    , ("glProgramUniformMatrix2fv", "glProgramUniform")
+    , ("glProgramUniformMatrix3fv", "glProgramUniform")
+    , ("glProgramUniformMatrix4fv", "glProgramUniform")
+    , ("glProgramUniformMatrix2x3fv", "glProgramUniform")
+    , ("glProgramUniformMatrix3x2fv", "glProgramUniform")
+    , ("glProgramUniformMatrix2x4fv", "glProgramUniform")
+    , ("glProgramUniformMatrix4x2fv", "glProgramUniform")
+    , ("glProgramUniformMatrix3x4fv", "glProgramUniform")
+    , ("glProgramUniformMatrix4x3fv", "glProgramUniform")
+    , ("glProvokingVertex", "glProvokingVertex")
+    , ("glPushDebugGroup", "glPushDebugGroup")
+    , ("glQueryCounter", "glQueryCounter")
+    , ("glReadBuffer", "glReadBuffer")
+    , ("glNamedFramebufferReadBuffer", "glReadBuffer")
+    , ("glReadPixels", "glReadPixels")
+    , ("glReadnPixels", "glReadPixels")
+    , ("glReleaseShaderCompiler", "glReleaseShaderCompiler")
+    , ("glRenderbufferStorageMultisample", "glRenderbufferStorageMultisample")
+    , ( "glNamedRenderbufferStorageMultisample"
+      , "glRenderbufferStorageMultisample")
+    , ("glRenderbufferStorage", "glRenderbufferStorage")
+    , ("glNamedRenderbufferStorage", "glRenderbufferStorage")
+    , ("glResumeTransformFeedback", "glResumeTransformFeedback")
+    , ("glSampleCoverage", "glSampleCoverage")
+    , ("glSampleMaski", "glSampleMaski")
+    , ("glSamplerParameterf", "glSamplerParameter")
+    , ("glSamplerParameteri", "glSamplerParameter")
+    , ("glSamplerParameterfv", "glSamplerParameter")
+    , ("glSamplerParameteriv", "glSamplerParameter")
+    , ("glSamplerParameterIiv", "glSamplerParameter")
+    , ("glSamplerParameterIuiv", "glSamplerParameter")
+    , ("glScissorArrayv", "glScissorArray")
+    , ("glScissorIndexed", "glScissorIndexed")
+    , ("glScissorIndexedv", "glScissorIndexed")
+    , ("glScissor", "glScissor")
+    , ("glShaderBinary", "glShaderBinary")
+    , ("glShaderSource", "glShaderSource")
+    , ("glShaderStorageBlockBinding", "glShaderStorageBlockBinding")
+    , ("glStencilFuncSeparate", "glStencilFuncSeparate")
+    , ("glStencilFunc", "glStencilFunc")
+    , ("glStencilMaskSeparate", "glStencilMaskSeparate")
+    , ("glStencilMask", "glStencilMask")
+    , ("glStencilOpSeparate", "glStencilOpSeparate")
+    , ("glStencilOp", "glStencilOp")
+    , ("glTexBufferRange", "glTexBufferRange")
+    , ("glTextureBufferRange", "glTexBufferRange")
+    , ("glTexBuffer", "glTexBuffer")
+    , ("glTextureBuffer", "glTexBuffer")
+    , ("glTexImage1D", "glTexImage1D")
+    , ("glTexImage2DMultisample", "glTexImage2DMultisample")
+    , ("glTexImage2D", "glTexImage2D")
+    , ("glTexImage3DMultisample", "glTexImage3DMultisample")
+    , ("glTexImage3D", "glTexImage3D")
+    , ("glTexParameterf", "glTexParameter")
+    , ("glTexParameteri", "glTexParameter")
+    , ("glTextureParameterf", "glTexParameter")
+    , ("glTextureParameteri", "glTexParameter")
+    , ("glTexParameterfv", "glTexParameter")
+    , ("glTexParameteriv", "glTexParameter")
+    , ("glTexParameterIiv", "glTexParameter")
+    , ("glTexParameterIuiv", "glTexParameter")
+    , ("glTextureParameterfv", "glTexParameter")
+    , ("glTextureParameteriv", "glTexParameter")
+    , ("glTextureParameterIiv", "glTexParameter")
+    , ("glTextureParameterIuiv", "glTexParameter")
+    , ("glTexStorage1D", "glTexStorage1D")
+    , ("glTextureStorage1D", "glTexStorage1D")
+    , ("glTexStorage2DMultisample", "glTexStorage2DMultisample")
+    , ("glTextureStorage2DMultisample", "glTexStorage2DMultisample")
+    , ("glTexStorage2D", "glTexStorage2D")
+    , ("glTextureStorage2D", "glTexStorage2D")
+    , ("glTexStorage3DMultisample", "glTexStorage3DMultisample")
+    , ("glTextureStorage3DMultisample", "glTexStorage3DMultisample")
+    , ("glTexStorage3D", "glTexStorage3D")
+    , ("glTextureStorage3D", "glTexStorage3D")
+    , ("glTexSubImage1D", "glTexSubImage1D")
+    , ("glTextureSubImage1D", "glTexSubImage1D")
+    , ("glTexSubImage2D", "glTexSubImage2D")
+    , ("glTextureSubImage2D", "glTexSubImage2D")
+    , ("glTexSubImage3D", "glTexSubImage3D")
+    , ("glTextureSubImage3D", "glTexSubImage3D")
+    , ("glTextureBarrier", "glTextureBarrier")
+    , ("glTextureView", "glTextureView")
+    , ("glTransformFeedbackBufferBase", "glTransformFeedbackBufferBase")
+    , ("glTransformFeedbackBufferRange", "glTransformFeedbackBufferRange")
+    , ("glTransformFeedbackVaryings", "glTransformFeedbackVaryings")
+    , ("glUniformBlockBinding", "glUniformBlockBinding")
+    , ("glUniformSubroutinesuiv", "glUniformSubroutines")
+    , ("glUniform1f", "glUniform")
+    , ("glUniform2f", "glUniform")
+    , ("glUniform3f", "glUniform")
+    , ("glUniform4f", "glUniform")
+    , ("glUniform1i", "glUniform")
+    , ("glUniform2i", "glUniform")
+    , ("glUniform3i", "glUniform")
+    , ("glUniform4i", "glUniform")
+    , ("glUniform1ui", "glUniform")
+    , ("glUniform2ui", "glUniform")
+    , ("glUniform3ui", "glUniform")
+    , ("glUniform4ui", "glUniform")
+    , ("glUniform1fv", "glUniform")
+    , ("glUniform2fv", "glUniform")
+    , ("glUniform3fv", "glUniform")
+    , ("glUniform4fv", "glUniform")
+    , ("glUniform1iv", "glUniform")
+    , ("glUniform2iv", "glUniform")
+    , ("glUniform3iv", "glUniform")
+    , ("glUniform4iv", "glUniform")
+    , ("glUniform1uiv", "glUniform")
+    , ("glUniform2uiv", "glUniform")
+    , ("glUniform3uiv", "glUniform")
+    , ("glUniform4uiv", "glUniform")
+    , ("glUniformMatrix2fv", "glUniform")
+    , ("glUniformMatrix3fv", "glUniform")
+    , ("glUniformMatrix4fv", "glUniform")
+    , ("glUniformMatrix2x3fv", "glUniform")
+    , ("glUniformMatrix3x2fv", "glUniform")
+    , ("glUniformMatrix2x4fv", "glUniform")
+    , ("glUniformMatrix4x2fv", "glUniform")
+    , ("glUniformMatrix3x4fv", "glUniform")
+    , ("glUniformMatrix4x3fv", "glUniform")
+    , ("glUnmapBuffer", "glUnmapBuffer")
+    , ("glUnmapNamedBuffer", "glUnmapBuffer")
+    , ("glUseProgramStages", "glUseProgramStages")
+    , ("glUseProgram", "glUseProgram")
+    , ("glValidateProgramPipeline", "glValidateProgramPipeline")
+    , ("glValidateProgram", "glValidateProgram")
+    , ("glVertexArrayElementBuffer", "glVertexArrayElementBuffer")
+    , ("glVertexAttribBinding", "glVertexAttribBinding")
+    , ("glVertexArrayAttribBinding", "glVertexAttribBinding")
+    , ("glVertexAttribDivisor", "glVertexAttribDivisor")
+    , ("glVertexAttribFormat", "glVertexAttribFormat")
+    , ("glVertexAttribIFormat", "glVertexAttribFormat")
+    , ("glVertexAttribLFormat", "glVertexAttribFormat")
+    , ("glVertexArrayAttribFormat", "glVertexAttribFormat")
+    , ("glVertexArrayAttribIFormat", "glVertexAttribFormat")
+    , ("glVertexArrayAttribLFormat", "glVertexAttribFormat")
+    , ("glVertexAttribPointer", "glVertexAttribPointer")
+    , ("glVertexAttribIPointer", "glVertexAttribPointer")
+    , ("glVertexAttribLPointer", "glVertexAttribPointer")
+    , ("glVertexAttrib1f", "glVertexAttrib")
+    , ("glVertexAttrib1s", "glVertexAttrib")
+    , ("glVertexAttrib1d", "glVertexAttrib")
+    , ("glVertexAttribI1i", "glVertexAttrib")
+    , ("glVertexAttribI1ui", "glVertexAttrib")
+    , ("glVertexAttrib2f", "glVertexAttrib")
+    , ("glVertexAttrib2s", "glVertexAttrib")
+    , ("glVertexAttrib2d", "glVertexAttrib")
+    , ("glVertexAttribI2i", "glVertexAttrib")
+    , ("glVertexAttribI2ui", "glVertexAttrib")
+    , ("glVertexAttrib3f", "glVertexAttrib")
+    , ("glVertexAttrib3s", "glVertexAttrib")
+    , ("glVertexAttrib3d", "glVertexAttrib")
+    , ("glVertexAttribI3i", "glVertexAttrib")
+    , ("glVertexAttribI3ui", "glVertexAttrib")
+    , ("glVertexAttrib4f", "glVertexAttrib")
+    , ("glVertexAttrib4s", "glVertexAttrib")
+    , ("glVertexAttrib4d", "glVertexAttrib")
+    , ("glVertexAttrib4Nub", "glVertexAttrib")
+    , ("glVertexAttribI4i", "glVertexAttrib")
+    , ("glVertexAttribI4ui", "glVertexAttrib")
+    , ("glVertexAttribL1d", "glVertexAttrib")
+    , ("glVertexAttribL2d", "glVertexAttrib")
+    , ("glVertexAttribL3d", "glVertexAttrib")
+    , ("glVertexAttribL4d", "glVertexAttrib")
+    , ("glVertexAttrib1fv", "glVertexAttrib")
+    , ("glVertexAttrib1sv", "glVertexAttrib")
+    , ("glVertexAttrib1dv", "glVertexAttrib")
+    , ("glVertexAttribI1iv", "glVertexAttrib")
+    , ("glVertexAttribI1uiv", "glVertexAttrib")
+    , ("glVertexAttrib2fv", "glVertexAttrib")
+    , ("glVertexAttrib2sv", "glVertexAttrib")
+    , ("glVertexAttrib2dv", "glVertexAttrib")
+    , ("glVertexAttribI2iv", "glVertexAttrib")
+    , ("glVertexAttribI2uiv", "glVertexAttrib")
+    , ("glVertexAttrib3fv", "glVertexAttrib")
+    , ("glVertexAttrib3sv", "glVertexAttrib")
+    , ("glVertexAttrib3dv", "glVertexAttrib")
+    , ("glVertexAttribI3iv", "glVertexAttrib")
+    , ("glVertexAttribI3uiv", "glVertexAttrib")
+    , ("glVertexAttrib4fv", "glVertexAttrib")
+    , ("glVertexAttrib4sv", "glVertexAttrib")
+    , ("glVertexAttrib4dv", "glVertexAttrib")
+    , ("glVertexAttrib4iv", "glVertexAttrib")
+    , ("glVertexAttrib4bv", "glVertexAttrib")
+    , ("glVertexAttrib4ubv", "glVertexAttrib")
+    , ("glVertexAttrib4usv", "glVertexAttrib")
+    , ("glVertexAttrib4uiv", "glVertexAttrib")
+    , ("glVertexAttrib4Nbv", "glVertexAttrib")
+    , ("glVertexAttrib4Nsv", "glVertexAttrib")
+    , ("glVertexAttrib4Niv", "glVertexAttrib")
+    , ("glVertexAttrib4Nubv", "glVertexAttrib")
+    , ("glVertexAttrib4Nusv", "glVertexAttrib")
+    , ("glVertexAttrib4Nuiv", "glVertexAttrib")
+    , ("glVertexAttribI4bv", "glVertexAttrib")
+    , ("glVertexAttribI4ubv", "glVertexAttrib")
+    , ("glVertexAttribI4sv", "glVertexAttrib")
+    , ("glVertexAttribI4usv", "glVertexAttrib")
+    , ("glVertexAttribI4iv", "glVertexAttrib")
+    , ("glVertexAttribI4uiv", "glVertexAttrib")
+    , ("glVertexAttribL1dv", "glVertexAttrib")
+    , ("glVertexAttribL2dv", "glVertexAttrib")
+    , ("glVertexAttribL3dv", "glVertexAttrib")
+    , ("glVertexAttribL4dv", "glVertexAttrib")
+    , ("glVertexAttribP1ui", "glVertexAttrib")
+    , ("glVertexAttribP2ui", "glVertexAttrib")
+    , ("glVertexAttribP3ui", "glVertexAttrib")
+    , ("glVertexAttribP4ui", "glVertexAttrib")
+    , ("glVertexBindingDivisor", "glVertexBindingDivisor")
+    , ("glVertexArrayBindingDivisor", "glVertexBindingDivisor")
+    , ("glViewportArrayv", "glViewportArray")
+    , ("glViewportIndexedf", "glViewportIndexed")
+    , ("glViewportIndexedfv", "glViewportIndexed")
+    , ("glViewport", "glViewport")
+    , ("glWaitSync", "glWaitSync")
+    ]
+
+entriesFor ::
+     String
+  -> Label
+  -> String
+  -> String
+  -> [(String, String)]
+  -> [(ManPageKey, [(URL, Label)])]
+entriesFor api label baseURL extension assocs =
+  [ ((API api, CommandName n), [(baseURL ++ u ++ extension, label)])
+  | (n, u) <- assocs
+  ]
+
+manPageURLs :: M.Map ManPageKey [(URL, Label)]
+manPageURLs =
+  M.fromListWith (++) . concat $
+  reverse [assocsGL2, assocsGL3, assocsGL4, assocsGLX1]
diff --git a/RegistryProcessor/src/MangledRegistry.hs b/RegistryProcessor/src/MangledRegistry.hs
--- a/RegistryProcessor/src/MangledRegistry.hs
+++ b/RegistryProcessor/src/MangledRegistry.hs
@@ -1,31 +1,33 @@
 -- This module is a convenience layer upon the Registry module which knows
 -- nothing about GL/GLX/EGL/WGL-specific things.
-module MangledRegistry (
-  ToEnumType,
-  parseRegistry,
-  Registry(..),
-  Type(..),
-  Group(..),
-  Enum'(..),
-  R.TypeName(..),
-  R.TypeSuffix(..),
-  Command(..), commandName,
-  SignatureElement(..),
-  Modification(..),
-  R.ModificationKind(..),
-  R.ProfileName(..),
-  Extension(..),
-  ConditionalModification(..),
-  InterfaceElement(..),
-  GroupName(..),
-  EnumName(..),
-  EnumValue(..),
-  CommandName(..),
-  ExtensionName(..),
-  API(..),
-  Version(..),
-  splitWords, joinWords
-) where
+module MangledRegistry
+  ( ToEnumType
+  , parseRegistry
+  , Registry(..)
+  , Type(..)
+  , Group(..)
+  , Enum'(..)
+  , R.TypeName(..)
+  , R.TypeSuffix(..)
+  , Command(..)
+  , commandName
+  , SignatureElement(..)
+  , Modification(..)
+  , R.ModificationKind(..)
+  , R.ProfileName(..)
+  , Extension(..)
+  , ConditionalModification(..)
+  , InterfaceElement(..)
+  , GroupName(..)
+  , EnumName(..)
+  , EnumValue(..)
+  , CommandName(..)
+  , ExtensionName(..)
+  , API(..)
+  , Version(..)
+  , splitWords
+  , joinWords
+  ) where
 
 import qualified Data.List as L
 import qualified Data.Map as M
@@ -36,94 +38,118 @@
 import qualified DeclarationParser as D
 import qualified Registry as R
 
-type ToEnumType = Maybe String -> Maybe String -> Maybe String -> Maybe R.TypeSuffix -> String -> R.TypeName
+type ToEnumType
+   = Maybe String -> Maybe String -> Maybe String -> Maybe R.TypeSuffix -> String -> R.TypeName
 
 parseRegistry :: ToEnumType -> String -> Either String Registry
 parseRegistry toEnumType str = toRegistry toEnumType `fmap` R.parseRegistry str
 
-data Registry = Registry {
-  types :: M.Map R.TypeName Type,
-  groups :: M.Map GroupName Group,
-  enums :: M.Map EnumName [Enum'],
-  commands :: M.Map CommandName Command,
-  features :: M.Map (API, Version) [Modification],
-  extensions :: [Extension]
+data Registry = Registry
+  { types :: M.Map R.TypeName Type
+  , groups :: M.Map GroupName Group
+  , enums :: M.Map EnumName [Enum']
+  , commands :: M.Map CommandName Command
+  , features :: M.Map (API, Version) [Modification]
+  , extensions :: [Extension]
   } deriving (Eq, Ord, Show)
 
 toRegistry :: ToEnumType -> R.Registry -> Registry
-toRegistry toEnumType r = Registry {
-  types = fromList'
-    [ (typeNameOf t, toType t)
-    | R.TypesElement te <- rs
-    , t <- R.unTypes te ],
-  groups = fromList'
-    [ (GroupName . R.unName . R.groupName $ g, toGroup g)
-    | R.GroupsElement ge <- rs
-    , g <- R.unGroups ge ],
-  enums = M.fromListWith (++)
-   [ (enumName en, [en])
-   | R.EnumsElement ee <- rs
-   , Left e <- R.enumsEnumOrUnuseds ee
-   , let en = toEnum' (toEnumType (R.enumsNamespace ee) (R.enumsGroup ee) (R.enumsType ee)) e ],
-  commands = fromList'
-   [ (CommandName . R.protoName . R.commandProto $ c, toCommand c)
-   | R.CommandsElement ce <- rs
-   , c <- R.commandsCommands ce ],
-  features = fromList'
-    [ ((API (R.featureAPI f), read (R.featureNumber f)),
-       map toModification (R.featureModifications f))
-    | R.FeatureElement f <- rs ],
-  extensions =
-    [ toExtension x
-    | R.ExtensionsElement ee <- R.unRegistry r
-    , x <- R.unExtensions ee ]
-  } where rs = R.unRegistry r
+toRegistry toEnumType r =
+  Registry
+  { types =
+      fromList'
+        [(typeNameOf t, toType t) | R.TypesElement te <- rs, t <- R.unTypes te]
+  , groups =
+      fromList'
+        [ (GroupName . R.unName . R.groupName $ g, toGroup g)
+        | R.GroupsElement ge <- rs
+        , g <- R.unGroups ge
+        ]
+  , enums =
+      M.fromListWith
+        (++)
+        [ (enumName en, [en])
+        | R.EnumsElement ee <- rs
+        , Left e <- R.enumsEnumOrUnuseds ee
+        , let en =
+                toEnum'
+                  (toEnumType
+                     (R.enumsNamespace ee)
+                     (R.enumsGroup ee)
+                     (R.enumsType ee))
+                  e
+        ]
+  , commands =
+      fromList'
+        [ (CommandName . R.protoName . R.commandProto $ c, toCommand c)
+        | R.CommandsElement ce <- rs
+        , c <- R.commandsCommands ce
+        ]
+  , features =
+      fromList'
+        [ ( (API (R.featureAPI f), read (R.featureNumber f))
+          , map toModification (R.featureModifications f))
+        | R.FeatureElement f <- rs
+        ]
+  , extensions =
+      [ toExtension x
+      | R.ExtensionsElement ee <- R.unRegistry r
+      , x <- R.unExtensions ee
+      ]
+  }
+  where
+    rs = R.unRegistry r
 
-fromList' :: (Ord k, Show a) => [(k,a)] -> M.Map k a
+fromList' :: (Ord k, Show a) => [(k, a)] -> M.Map k a
 fromList' =
   M.fromListWith (\n o -> error $ "clash for " ++ show n ++ " and " ++ show o)
 
 typeNameOf :: R.Type -> R.TypeName
-typeNameOf t = case (R.typeName1 t, R.typeName2 t) of
-  (Nothing, Nothing) -> error ("missing type name in " ++ show t)
-  (Just n1, Nothing) -> n1
-  (Nothing, Just n2) -> n2
-  (Just n1, Just n2) | n1 == n2 -> n1
-                     | otherwise -> error ("conflicting type name in " ++ show t)
+typeNameOf t =
+  case (R.typeName1 t, R.typeName2 t) of
+    (Nothing, Nothing) -> error ("missing type name in " ++ show t)
+    (Just n1, Nothing) -> n1
+    (Nothing, Just n2) -> n2
+    (Just n1, Just n2)
+      | n1 == n2 -> n1
+      | otherwise -> error ("conflicting type name in " ++ show t)
 
-data Type = Type {
-  typeAPI :: Maybe API,
-  typeRequires :: Maybe R.TypeName
+data Type = Type
+  { typeAPI :: Maybe API
+  , typeRequires :: Maybe R.TypeName
   } deriving (Eq, Ord, Show)
 
 toType :: R.Type -> Type
-toType t = Type {
-  typeAPI = API `fmap` R.typeAPI t,
-  typeRequires = R.TypeName `fmap` R.typeRequires t }
+toType t =
+  Type
+  { typeAPI = API `fmap` R.typeAPI t
+  , typeRequires = R.TypeName `fmap` R.typeRequires t
+  }
 
-data Group = Group {
-  groupEnums :: [EnumName]
+newtype Group = Group
+  { groupEnums :: [EnumName]
   } deriving (Eq, Ord, Show)
 
 toGroup :: R.Group -> Group
-toGroup g = Group {
-  groupEnums = map (EnumName . R.unName) (R.groupEnums g) }
+toGroup g = Group {groupEnums = map (EnumName . R.unName) (R.groupEnums g)}
 
 -- NOTE: Due to an oversight in the OpenGL ES spec, an enum can have different
 -- values for different APIs (happens only for GL_ACTIVE_PROGRAM_EXT).
-data Enum' = Enum {
-  enumValue :: EnumValue,
-  enumAPI :: Maybe API,
-  enumType :: R.TypeName,
-  enumName :: EnumName
+data Enum' = Enum
+  { enumValue :: EnumValue
+  , enumAPI :: Maybe API
+  , enumType :: R.TypeName
+  , enumName :: EnumName
   } deriving (Eq, Ord, Show)
 
 toEnum' :: (Maybe R.TypeSuffix -> String -> R.TypeName) -> R.Enum' -> Enum'
-toEnum' toTypeName e = Enum {
-  enumValue = EnumValue (R.enumValue e),
-  enumAPI = API `fmap` R.enumAPI e,
-  enumType = toTypeName (R.enumType e) (R.enumName e),
-  enumName = EnumName (R.enumName e) }
+toEnum' toTypeName e =
+  Enum
+  { enumValue = EnumValue (R.enumValue e)
+  , enumAPI = API `fmap` R.enumAPI e
+  , enumType = toTypeName (R.enumType e) (R.enumName e)
+  , enumName = EnumName (R.enumName e)
+  }
 
 splitChar :: Char
 splitChar = '_'
@@ -133,123 +159,147 @@
 
 splitBy :: (a -> Bool) -> [a] -> [[a]]
 splitBy _ [] = []
-splitBy p xs = case break p xs of
-                (ys, []  ) -> [ys]
-                (ys, _:zs) -> ys : splitBy p zs
+splitBy p xs =
+  case break p xs of
+    (ys, []) -> [ys]
+    (ys, _:zs) -> ys : splitBy p zs
 
 joinWords :: [String] -> String
 joinWords = L.intercalate [splitChar]
 
-data Command = Command {
-  resultType :: SignatureElement,
-  paramTypes :: [SignatureElement],
-  referencedTypes :: S.Set R.TypeName,
-  vecEquiv :: Maybe CommandName,
-  alias :: Maybe CommandName
+data Command = Command
+  { resultType :: SignatureElement
+  , paramTypes :: [SignatureElement]
+  , referencedTypes :: S.Set R.TypeName
+  , vecEquiv :: Maybe CommandName
+  , alias :: Maybe CommandName
   } deriving (Eq, Ord, Show)
 
 toCommand :: R.Command -> Command
-toCommand c = Command {
-  resultType = resTy,
-  paramTypes = paramTys,
-  referencedTypes =
-    S.fromList $
+toCommand c =
+  Command
+  { resultType = resTy
+  , paramTypes = paramTys
+  , referencedTypes =
+      S.fromList $
     -- Make sure that we don't reference pointers to structs, they are mapped to
     -- 'Ptr a' etc., anyway (glCreateSyncFromCLeventARB is an exmaple for this).
-    filter (not . ("struct " `L.isPrefixOf`) . R.unTypeName) $
-    DM.catMaybes $
-    map (R.protoPtype . R.paramProto) $
-    (pr : ps),
-  vecEquiv = (CommandName . R.unName) `fmap` R.commandVecEquiv c,
-  alias = (CommandName . R.unName) `fmap` R.commandAlias c }
-  where pr = R.Param { R.paramLen = Nothing, R.paramProto = R.commandProto c }
-        ps = R.commandParams c
-        varSupply = map (R.TypeName . showIntUsingDigits ['a' .. 'z']) [0 ..]
-        (resTy:paramTys) = snd $ L.mapAccumL toSignatureElement varSupply (pr : ps)
+      filter (not . ("struct " `L.isPrefixOf`) . R.unTypeName) $
+      DM.mapMaybe (R.protoPtype . R.paramProto) (pr : ps)
+  , vecEquiv = (CommandName . R.unName) `fmap` R.commandVecEquiv c
+  , alias = (CommandName . R.unName) `fmap` R.commandAlias c
+  }
+  where
+    pr = R.Param {R.paramLen = Nothing, R.paramProto = R.commandProto c}
+    ps = R.commandParams c
+    varSupply = map (R.TypeName . showIntUsingDigits ['a' .. 'z']) [0 ..]
+    (resTy:paramTys) = snd $ L.mapAccumL toSignatureElement varSupply (pr : ps)
 
-showIntUsingDigits :: [Char] -> Int -> String
+showIntUsingDigits :: String -> Int -> String
 showIntUsingDigits ds x = N.showIntAtBase (length ds) (ds !!) x ""
 
 commandName :: Command -> CommandName
 commandName = CommandName . signatureElementName . resultType
 
-data SignatureElement = SignatureElement {
-  arrayLength :: Maybe String,
-  belongsToGroup :: Maybe GroupName,
-  baseType :: R.TypeName,
-  numPointer :: Int,
-  signatureElementName :: String
+data SignatureElement = SignatureElement
+  { arrayLength :: Maybe String
+  , belongsToGroup :: Maybe GroupName
+  , baseType :: R.TypeName
+  , numPointer :: Int
+  , signatureElementName :: String
   } deriving (Eq, Ord)
 
 instance Show SignatureElement where
   showsPrec d ct
     | numPointer ct == 0 = showString (R.unTypeName (baseType ct))
     | otherwise =
-        showParen (d > 10) $
-        showString "Ptr " . showsPrec 11 (ct{numPointer = numPointer ct - 1})
-
-  showList = flip . foldr  $ \x -> shows x . showString " -> "
+      showParen (d > 10) $
+      showString "Ptr " . showsPrec 11 (ct {numPointer = numPointer ct - 1})
+  showList = flip . foldr $ \x -> shows x . showString " -> "
 
 -- We want to get 'Ptr a' instead of 'Ptr ()', so we might have to rename.
-toSignatureElement :: [R.TypeName] -> R.Param -> ([R.TypeName], SignatureElement)
+toSignatureElement ::
+     [R.TypeName] -> R.Param -> ([R.TypeName], SignatureElement)
 toSignatureElement varSupply param =
-  either error (\(b,n) ->
-    renameIf (b == "()" && n > 0)
-             varSupply
-             (SignatureElement {
-                arrayLength = R.paramLen param,
-                belongsToGroup = GroupName `fmap` R.protoGroup proto,
-                numPointer = n,
-                baseType = R.TypeName b,
-                signatureElementName = R.protoName proto})) $
+  either
+    error
+    (\(b, n) ->
+       renameIf
+         (b == "()" && n > 0)
+         varSupply
+         SignatureElement
+         { arrayLength = R.paramLen param
+         , belongsToGroup = GroupName `fmap` R.protoGroup proto
+         , numPointer = n
+         , baseType = R.TypeName b
+         , signatureElementName = R.protoName proto
+         }) $
   D.parse $
-  L.intercalate " " $
-  map ($ proto) [
-    R.protoText1,
-    maybe "" R.unTypeName . R.protoPtype,
-    R.protoText2,
-    R.protoName,
-    R.protoText3 ]
-  where proto = R.paramProto param
+  unwords $
+  map
+    ($ proto)
+    [ R.protoText1
+    , maybe "" R.unTypeName . R.protoPtype
+    , R.protoText2
+    , R.protoName
+    , R.protoText3
+    ]
+  where
+    proto = R.paramProto param
 
-renameIf :: Bool -> [R.TypeName] -> SignatureElement -> ([R.TypeName], SignatureElement)
+renameIf ::
+     Bool
+  -> [R.TypeName]
+  -> SignatureElement
+  -> ([R.TypeName], SignatureElement)
 renameIf False varSupply ct = (varSupply, ct)
-renameIf True  varSupply ct = (tail varSupply, ct{ baseType = head varSupply })
+renameIf True varSupply ct = (tail varSupply, ct {baseType = head varSupply})
 
-data Modification = Modification {
-  modificationKind :: R.ModificationKind,
-  modificationProfile :: Maybe R.ProfileName,
-  modificationInterfaceElements :: [InterfaceElement]
+data Modification = Modification
+  { modificationKind :: R.ModificationKind
+  , modificationProfile :: Maybe R.ProfileName
+  , modificationInterfaceElements :: [InterfaceElement]
   } deriving (Eq, Ord, Show)
 
 toModification :: R.Modification -> Modification
-toModification m = Modification {
-  modificationKind = R.modificationModificationKind m,
-  modificationProfile = R.modificationProfileName m,
-  modificationInterfaceElements = map toInterfaceElement (R.modificationInterfaceElements m) }
+toModification m =
+  Modification
+  { modificationKind = R.modificationModificationKind m
+  , modificationProfile = R.modificationProfileName m
+  , modificationInterfaceElements =
+      map toInterfaceElement (R.modificationInterfaceElements m)
+  }
 
-data Extension = Extension {
-  extensionName :: ExtensionName,
-  extensionSupported :: Maybe [API],
-  extensionsRequireRemove :: [ConditionalModification]
+data Extension = Extension
+  { extensionName :: ExtensionName
+  , extensionSupported :: Maybe [API]
+  , extensionsRequireRemove :: [ConditionalModification]
   } deriving (Eq, Ord, Show)
 
 toExtension :: R.Extension -> Extension
-toExtension e = Extension {
-  extensionName = toExtensionName $ R.extensionName e,
-  extensionSupported = supp `fmap` R.extensionSupported e,
-  extensionsRequireRemove = map toConditionalModification (R.extensionsRequireRemove e) }
-  where supp = map API . splitBy (== '|') . R.unStringGroup
+toExtension e =
+  Extension
+  { extensionName = toExtensionName $ R.extensionName e
+  , extensionSupported = supp `fmap` R.extensionSupported e
+  , extensionsRequireRemove =
+      map toConditionalModification (R.extensionsRequireRemove e)
+  }
+  where
+    supp = map API . splitBy (== '|') . R.unStringGroup
 
-data ConditionalModification = ConditionalModification {
-  conditionalModificationAPI :: Maybe API,
-  conditionalModificationModification :: Modification
+data ConditionalModification = ConditionalModification
+  { conditionalModificationAPI :: Maybe API
+  , conditionalModificationModification :: Modification
   } deriving (Eq, Ord, Show)
 
-toConditionalModification :: R.ConditionalModification -> ConditionalModification
-toConditionalModification c = ConditionalModification {
-  conditionalModificationAPI = API `fmap` R.conditionalModificationAPI c,
-  conditionalModificationModification = toModification (R.conditionalModificationModification c) }
+toConditionalModification ::
+     R.ConditionalModification -> ConditionalModification
+toConditionalModification c =
+  ConditionalModification
+  { conditionalModificationAPI = API `fmap` R.conditionalModificationAPI c
+  , conditionalModificationModification =
+      toModification (R.conditionalModificationModification c)
+  }
 
 data InterfaceElement
   = TypeElement R.TypeName
@@ -263,47 +313,62 @@
      R.InterfaceElementType -> TypeElement . R.TypeName
      R.InterfaceElementEnum -> EnumElement . EnumName
      R.InterfaceElementCommand -> CommandElement . CommandName)
-  (R.unName (R.interfaceElementName i))
+    (R.unName (R.interfaceElementName i))
 
-newtype GroupName = GroupName { unGroupName :: String } deriving (Eq, Ord, Show)
+newtype GroupName = GroupName
+  { unGroupName :: String
+  } deriving (Eq, Ord, Show)
 
-newtype EnumName = EnumName { unEnumName :: String } deriving (Eq, Ord, Show)
+newtype EnumName = EnumName
+  { unEnumName :: String
+  } deriving (Eq, Ord, Show)
 
 -- Conceptually EnumValue should be an Integer, but the registry cheats a bit:
 --
 --   * xsd:decimal doesn't allow hex notation, which is used everywhere.
 --   * egl.xml uses expression strings like "((EGLint)-1)".
 --   * glx.xml uses "&quot;GLX&quot;", totally abusing it.
-newtype EnumValue = EnumValue { unEnumValue :: String } deriving (Eq, Ord, Show)
+newtype EnumValue = EnumValue
+  { unEnumValue :: String
+  } deriving (Eq, Ord, Show)
 
-newtype CommandName = CommandName { unCommandName :: String } deriving (Eq, Ord, Show)
+newtype CommandName = CommandName
+  { unCommandName :: String
+  } deriving (Eq, Ord, Show)
 
 -- See https://www.opengl.org/registry/doc/rules.html#spec_naming
-data ExtensionName = ExtensionName {
-  extensionNameAPI :: String,
-  extensionNameCategory :: String,
-  extensionNameName :: String
+data ExtensionName = ExtensionName
+  { extensionNameAPI :: String
+  , extensionNameCategory :: String
+  , extensionNameName :: String
   } deriving (Eq, Ord, Show)
 
 toExtensionName :: R.Name -> ExtensionName
-toExtensionName name = ExtensionName {
-   extensionNameAPI = a,
-   extensionNameCategory = c,
-   extensionNameName = joinWords rest }
-   where (a:c:rest) = splitWords (R.unName name)
+toExtensionName name =
+  ExtensionName
+  { extensionNameAPI = a
+  , extensionNameCategory = c
+  , extensionNameName = joinWords rest
+  }
+  where
+    (a:c:rest) = splitWords (R.unName name)
 
-newtype API = API { unAPI :: String } deriving (Eq, Ord, Show)
+newtype API = API
+  { unAPI :: String
+  } deriving (Eq, Ord, Show)
 
-data Version = Version {
-  major :: Int,
-  minor :: Int
+data Version = Version
+  { major :: Int
+  , minor :: Int
   } deriving (Eq, Ord)
 
 instance Show Version where
   showsPrec _ v = shows (major v) . showChar '.' . shows (minor v)
 
 instance Read Version where
-  readsPrec _ s = [ (Version ma mi, r3)
-                  | (ma, r1) <- N.readDec s
-                  , ('.':r2) <- [r1]
-                  , (mi, r3) <- N.readDec r2 ]
+  readsPrec _ s =
+    [ (Version ma mi, r3)
+    | (ma, r1) <- N.readDec s
+    , ('.':r2) <- [r1]
+    , (mi, r3) <- N.readDec r2
+    ]
diff --git a/RegistryProcessor/src/Registry.hs b/RegistryProcessor/src/Registry.hs
--- a/RegistryProcessor/src/Registry.hs
+++ b/RegistryProcessor/src/Registry.hs
@@ -1,71 +1,73 @@
 -- This module contains a 1:1 translation of registry.rnc with an (un-)parser.
 -- No simplifications or GL/GLX/EGL/WGL-specific things are done here.
-module Registry (
-  parseRegistry, unparseRegistry,
-  Registry(..),
-  RegistryElement(..),
-  Types(..),
-  Type(..),
-  Groups(..),
-  Group(..),
-  Enums(..),
-  Enum'(..),
-  Unused(..),
-  Commands(..),
-  Command(..),
-  Proto(..),
-  Param(..),
-  GLX(..),
-  Feature(..),
-  Modification(..),
-  ModificationKind(..),
-  Extensions(..),
-  Extension(..),
-  ConditionalModification(..),
-  InterfaceElement(..),
-  InterfaceElementKind(..),
-  Integer'(..),
-  TypeName(..),
-  TypeSuffix(..),
-  StringGroup(..),
-  ProfileName(..),
-  Vendor(..),
-  Comment(..),
-  Name(..)
-) where
+module Registry
+  ( parseRegistry
+  , unparseRegistry
+  , Registry(..)
+  , RegistryElement(..)
+  , Types(..)
+  , Type(..)
+  , Groups(..)
+  , Group(..)
+  , Enums(..)
+  , Enum'(..)
+  , Unused(..)
+  , Commands(..)
+  , Command(..)
+  , Proto(..)
+  , Param(..)
+  , GLX(..)
+  , Feature(..)
+  , Modification(..)
+  , ModificationKind(..)
+  , Extensions(..)
+  , Extension(..)
+  , ConditionalModification(..)
+  , InterfaceElement(..)
+  , InterfaceElementKind(..)
+  , Integer'(..)
+  , TypeName(..)
+  , TypeSuffix(..)
+  , StringGroup(..)
+  , ProfileName(..)
+  , Vendor(..)
+  , Comment(..)
+  , Name(..)
+  ) where
 
-import Data.Maybe ( maybeToList )
+import Data.Maybe (maybeToList)
 import Text.XML.HXT.Core
 
 parseRegistry :: String -> Either String Registry
-parseRegistry = head . (runLA $
-  xreadDoc >>>
-  neg isXmlPi >>>
-  removeAllWhiteSpace >>>
-  canonicalizeAllNodes  >>> -- needed to e.g. process CDATA, remove XML comments, etc.
-  arr (unpickleDoc' xpRegistry))
+parseRegistry =
+  head .
+  runLA
+    (xreadDoc >>>
+     neg isXmlPi >>>
+     removeAllWhiteSpace >>>
+     canonicalizeAllNodes >>> -- needed to e.g. process CDATA, remove XML comments, etc.
+     arr (unpickleDoc' xpRegistry))
 
 unparseRegistry :: Registry -> String
 unparseRegistry =
-  concat . (pickleDoc xpRegistry >>>
-            runLA (writeDocumentToString [withIndent yes,
-                                          withOutputEncoding utf8,
-                                          withXmlPi yes]))
+  concat .
+  (pickleDoc xpRegistry >>>
+   runLA
+     (writeDocumentToString
+        [withIndent yes, withOutputEncoding utf8, withXmlPi yes]))
 
 -- Note: We do this slightly different from the schema.
-newtype Registry = Registry {
-  unRegistry :: [RegistryElement]
+newtype Registry = Registry
+  { unRegistry :: [RegistryElement]
   } deriving (Eq, Ord, Show)
 
 xpRegistry :: PU Registry
 xpRegistry =
-  xpWrap (Registry, unRegistry) $
-  xpElem "registry" $
-  xpList xpRegistryElement
+  xpWrap (Registry, unRegistry) $ xpElem "registry" $ xpList xpRegistryElement
 
 data RegistryElement
   = CommentElement { unCommentElement :: Comment }
-  | TypesElement { unTypesElement:: Types }
+  | TypesElement { unTypesElement :: Types }
   | GroupsElement { unGroupsElement :: Groups }
   | EnumsElement { unEnumsElement :: Enums }
   | CommandsElement { unCommandsElement :: Commands }
@@ -75,49 +77,49 @@
 
 xpRegistryElement :: PU RegistryElement
 xpRegistryElement = xpAlt tag pus
-  where tag (CommentElement _)= 0
-        tag (TypesElement _) = 1
-        tag (GroupsElement _) = 2
-        tag (EnumsElement _) = 3
-        tag (CommandsElement _) = 4
-        tag (FeatureElement _) = 5
-        tag (ExtensionsElement _) = 6
-        pus = [ xpWrap (CommentElement, unCommentElement) $
-                  xpElem "comment" xpComment
-              , xpWrap (TypesElement, unTypesElement) xpTypes
-              , xpWrap (GroupsElement, unGroupsElement) xpGroups
-              , xpWrap (EnumsElement, unEnumsElement) xpEnums
-              , xpWrap (CommandsElement, unCommandsElement) xpCommands
-              , xpWrap (FeatureElement, unFeatureElement) xpFeature
-              , xpWrap (ExtensionsElement, unExtensionsElement) xpExtensions ]
+  where
+    tag (CommentElement _) = 0
+    tag (TypesElement _) = 1
+    tag (GroupsElement _) = 2
+    tag (EnumsElement _) = 3
+    tag (CommandsElement _) = 4
+    tag (FeatureElement _) = 5
+    tag (ExtensionsElement _) = 6
+    pus =
+      [ xpWrap (CommentElement, unCommentElement) $ xpElem "comment" xpComment
+      , xpWrap (TypesElement, unTypesElement) xpTypes
+      , xpWrap (GroupsElement, unGroupsElement) xpGroups
+      , xpWrap (EnumsElement, unEnumsElement) xpEnums
+      , xpWrap (CommandsElement, unCommandsElement) xpCommands
+      , xpWrap (FeatureElement, unFeatureElement) xpFeature
+      , xpWrap (ExtensionsElement, unExtensionsElement) xpExtensions
+      ]
 
-newtype Types = Types {
-  unTypes :: [Type]
+newtype Types = Types
+  { unTypes :: [Type]
   } deriving (Eq, Ord, Show)
 
 xpTypes :: PU Types
-xpTypes =
-  xpWrap (Types, unTypes) $
-  xpElem "types" $
-  xpList xpType
+xpTypes = xpWrap (Types, unTypes) $ xpElem "types" $ xpList xpType
 
-data Type = Type {
-  typeAPI :: Maybe String,
-  typeRequires :: Maybe String,
-  typeName1 :: Maybe TypeName,
-  typeType :: Maybe String,
-  typeComment :: Maybe Comment,
-  typeText1 :: String,
-  typeAPIEntry :: Maybe String,
-  typeText2 :: String,
-  typeName2 :: Maybe TypeName,
-  typeText3 :: String
+data Type = Type
+  { typeAPI :: Maybe String
+  , typeRequires :: Maybe String
+  , typeName1 :: Maybe TypeName
+  , typeType :: Maybe String
+  , typeComment :: Maybe Comment
+  , typeText1 :: String
+  , typeAPIEntry :: Maybe String
+  , typeText2 :: String
+  , typeName2 :: Maybe TypeName
+  , typeText3 :: String
   } deriving (Eq, Ord, Show)
 
 xpType :: PU Type
 xpType =
-  xpWrap (\(a,b,c,d,e,f,g,h,i,j) -> Type a b c d e f g h i j
-         ,\(Type a b c d e f g h i j) -> (a,b,c,d,e,f,g,h,i,j)) $
+  xpWrap
+    ( \(a, b, c, d, e, f, g, h, i, j) -> Type a b c d e f g h i j
+    , \(Type a b c d e f g h i j) -> (a, b, c, d, e, f, g, h, i, j)) $
   xpElem "type" $
   xp10Tuple
     (xpAttrImplied "api" xpText)
@@ -131,50 +133,44 @@
     (xpOption $ xpElem "name" xpTypeName)
     xpText0
 
-newtype Groups = Groups {
-  unGroups :: [Group]
+newtype Groups = Groups
+  { unGroups :: [Group]
   } deriving (Eq, Ord, Show)
 
 xpGroups :: PU Groups
-xpGroups =
-  xpWrap (Groups, unGroups) $
-  xpElem "groups" $
-  xpList xpGroup
+xpGroups = xpWrap (Groups, unGroups) $ xpElem "groups" $ xpList xpGroup
 
-data Group = Group {
-  groupName :: Name,
-  groupComment :: Maybe Comment,
-  groupEnums :: [Name]
+data Group = Group
+  { groupName :: Name
+  , groupComment :: Maybe Comment
+  , groupEnums :: [Name]
   } deriving (Eq, Ord, Show)
 
 xpGroup :: PU Group
 xpGroup =
-  xpWrap (\(a,b,c) -> Group a b c
-         ,\(Group a b c) -> (a,b,c)) $
+  xpWrap (\(a, b, c) -> Group a b c, \(Group a b c) -> (a, b, c)) $
   xpElem "group" $
-  xpTriple
-    xpName
-    (xpOption xpCommentAttr)
-    (xpList $ xpElem "enum" xpName)
+  xpTriple xpName (xpOption xpCommentAttr) (xpList $ xpElem "enum" xpName)
 
-data Enums = Enums {
-  enumsNamespace :: Maybe String,
-  enumsGroup :: Maybe String,
-  enumsType :: Maybe String,
+data Enums = Enums
+  { enumsNamespace :: Maybe String
+  , enumsGroup :: Maybe String
+  , enumsType :: Maybe String
   -- enumsStart is conceptually a 'Maybe Integer', but egl.xml cheats a bit and
   -- uses e.g. 'start="0x3060-0x306F"' as a shorthand for
   -- 'start="0x3060" end="0x306F"'.
-  enumsStart :: Maybe Integer',
-  enumsEnd :: Maybe Integer',
-  enumsVendor :: Maybe Vendor,
-  enumsComment :: Maybe Comment,
-  enumsEnumOrUnuseds :: [Either Enum' Unused]
+  , enumsStart :: Maybe Integer'
+  , enumsEnd :: Maybe Integer'
+  , enumsVendor :: Maybe Vendor
+  , enumsComment :: Maybe Comment
+  , enumsEnumOrUnuseds :: [Either Enum' Unused]
   } deriving (Eq, Ord, Show)
 
 xpEnums :: PU Enums
 xpEnums =
-  xpWrap (\(a,b,c,d,e,f,g,h) -> Enums a b c d e f g h
-         ,\(Enums a b c d e f g h) -> (a,b,c,d,e,f,g,h)) $
+  xpWrap
+    ( \(a, b, c, d, e, f, g, h) -> Enums a b c d e f g h
+    , \(Enums a b c d e f g h) -> (a, b, c, d, e, f, g, h)) $
   xpElem "enums" $
   xp8Tuple
     (xpAttrImplied "namespace" xpText)
@@ -188,26 +184,27 @@
 
 xpEither :: PU a -> PU b -> PU (Either a b)
 xpEither pl pr = xpAlt tag pus
-  where tag (Left _) = 0
-        tag (Right _) = 1
-        pus = [ xpWrap (Left, \(Left l) -> l) pl
-              , xpWrap (Right, \(Right r) -> r) pr ]
+  where
+    tag (Left _) = 0
+    tag (Right _) = 1
+    pus = [xpWrap (Left, \(Left l) -> l) pl, xpWrap (Right, \(Right r) -> r) pr]
 
-data Enum' = Enum {
-  enumValue :: String,
-  enumAPI :: Maybe String,
-  enumType :: Maybe TypeSuffix,
-  enumName :: String,
-  enumAlias :: Maybe String,
-  enumComment :: Maybe Comment
+data Enum' = Enum
+  { enumValue :: String
+  , enumAPI :: Maybe String
+  , enumType :: Maybe TypeSuffix
+  , enumName :: String
+  , enumAlias :: Maybe String
+  , enumComment :: Maybe Comment
   } deriving (Eq, Ord, Show)
 
 -- NOTE: The spec uses the interleave pattern, which is not needed: Attributes
 -- are by definition unordered.
 xpEnum :: PU Enum'
 xpEnum =
-  xpWrap (\(a,b,c,d,e,f) -> Enum a b c d e f
-         ,\(Enum a b c d e f) -> (a,b,c,d,e,f)) $
+  xpWrap
+    ( \(a, b, c, d, e, f) -> Enum a b c d e f
+    , \(Enum a b c d e f) -> (a, b, c, d, e, f)) $
   xpElem "enum" $
   xp6Tuple
     (xpAttr "value" xpText)
@@ -217,17 +214,16 @@
     (xpAttrImplied "alias" xpText)
     (xpOption xpCommentAttr)
 
-data Unused = Unused {
-  unusedStart :: Integer',
-  unusedEnd :: Maybe Integer',
-  unusedVendor :: Maybe Vendor,
-  unusedComment :: Maybe Comment
+data Unused = Unused
+  { unusedStart :: Integer'
+  , unusedEnd :: Maybe Integer'
+  , unusedVendor :: Maybe Vendor
+  , unusedComment :: Maybe Comment
   } deriving (Eq, Ord, Show)
 
 xpUnused :: PU Unused
 xpUnused =
-  xpWrap (\(a,b,c,d) -> Unused a b c d
-         ,\(Unused a b c d) -> (a,b,c,d)) $
+  xpWrap (\(a, b, c, d) -> Unused a b c d, \(Unused a b c d) -> (a, b, c, d)) $
   xpElem "unused" $
   xp4Tuple
     (xpAttr "start" xpInteger)
@@ -235,63 +231,62 @@
     (xpOption xpVendor)
     (xpOption xpCommentAttr)
 
-data Commands = Commands {
-  commandsNamespace :: Maybe String,
-  commandsCommands :: [Command]
+data Commands = Commands
+  { commandsNamespace :: Maybe String
+  , commandsCommands :: [Command]
   } deriving (Eq, Ord, Show)
 
 xpCommands :: PU Commands
 xpCommands =
-  xpWrap (\(a,b) -> Commands a b
-         ,\(Commands a b) -> (a,b)) $
+  xpWrap (uncurry Commands, \(Commands a b) -> (a, b)) $
   xpElem "commands" $
-  xpPair
-    (xpAttrImplied "namespace" xpText)
-    (xpList xpCommand)
+  xpPair (xpAttrImplied "namespace" xpText) (xpList xpCommand)
 
-data Command = Command {
-  commandComment :: Maybe Comment,
-  commandProto :: Proto,
-  commandParams :: [Param],
-  commandAlias :: Maybe Name,
-  commandVecEquiv :: Maybe Name,
-  commandGLXs :: [GLX]
+data Command = Command
+  { commandComment :: Maybe Comment
+  , commandProto :: Proto
+  , commandParams :: [Param]
+  , commandAlias :: Maybe Name
+  , commandVecEquiv :: Maybe Name
+  , commandGLXs :: [GLX]
   } deriving (Eq, Ord, Show)
 
 xpCommand :: PU Command
 xpCommand =
-  xpWrap (\(a,b,c,(d,e,f)) -> Command a b c d e f
-         ,\(Command a b c d e f) -> (a,b,c,(d,e,f))) $
+  xpWrap
+    ( \(a, b, c, (d, e, f)) -> Command a b c d e f
+    , \(Command a b c d e f) -> (a, b, c, (d, e, f))) $
   xpElem "command" $
-  xp4Tuple
-    (xpOption xpCommentAttr)
-    xpProto
-    (xpList xpParam)
-    xpCommandTail
+  xp4Tuple (xpOption xpCommentAttr) xpProto (xpList xpParam) xpCommandTail
 
 -- The spec uses the interleave pattern here, which is not supported in hxt.
 -- As a workaround, we use a list of disjoint types.
 xpCommandTail :: PU (Maybe Name, Maybe Name, [GLX])
 xpCommandTail =
-  xpWrapEither (\xs -> do a <- check "alias" [x | AliasElement x <- xs]
-                          b <- check "vecequiv" [x | VecEquivElement x <- xs]
-                          c <- return [x | GLXElement x <- xs]
-                          return (a,b,c)
-               ,\(a,b,c) -> map AliasElement (maybeToList a) ++
-                            map VecEquivElement (maybeToList b) ++
-                            map GLXElement c) $
-  xpList $
-  xpAlt tag pus
-    where tag (AliasElement _) = 0
-          tag (VecEquivElement _) = 1
-          tag (GLXElement _) = 2
-          pus = [xpWrap (AliasElement,unAliasElement) $ xpElem "alias" xpName
-                ,xpWrap (VecEquivElement,unVecEquivElement) $ xpElem "vecequiv" xpName
-                ,xpWrap (GLXElement,unGLXElement) xpGLX]
-          check n xs = case xs of
-                       [] -> Right Nothing
-                       [x] -> Right $ Just x
-                       _ -> Left $ "expected at most one '" ++ n ++ "' element"
+  xpWrapEither
+    ( \xs -> do
+        a <- check "alias" [x | AliasElement x <- xs]
+        b <- check "vecequiv" [x | VecEquivElement x <- xs]
+        let c = [x | GLXElement x <- xs]
+        return (a, b, c)
+    , \(a, b, c) ->
+        map AliasElement (maybeToList a) ++
+        map VecEquivElement (maybeToList b) ++ map GLXElement c) $
+  xpList $ xpAlt tag pus
+  where
+    tag (AliasElement _) = 0
+    tag (VecEquivElement _) = 1
+    tag (GLXElement _) = 2
+    pus =
+      [ xpWrap (AliasElement, unAliasElement) $ xpElem "alias" xpName
+      , xpWrap (VecEquivElement, unVecEquivElement) $ xpElem "vecequiv" xpName
+      , xpWrap (GLXElement, unGLXElement) xpGLX
+      ]
+    check n xs =
+      case xs of
+        [] -> Right Nothing
+        [x] -> Right $ Just x
+        _ -> Left $ "expected at most one '" ++ n ++ "' element"
 
 data CommandTail
   = AliasElement { unAliasElement :: Name }
@@ -299,19 +294,20 @@
   | GLXElement { unGLXElement :: GLX }
   deriving (Eq, Ord, Show)
 
-data Proto = Proto {
-  protoGroup :: Maybe String,
-  protoText1 :: String,
-  protoPtype :: Maybe TypeName,
-  protoText2 :: String,
-  protoName :: String,
-  protoText3 :: String
+data Proto = Proto
+  { protoGroup :: Maybe String
+  , protoText1 :: String
+  , protoPtype :: Maybe TypeName
+  , protoText2 :: String
+  , protoName :: String
+  , protoText3 :: String
   } deriving (Eq, Ord, Show)
 
 xpProto :: PU Proto
 xpProto =
-  xpWrap (\(a,b,c,d,e,f) -> Proto a b c d e f
-         ,\(Proto a b c d e f) -> (a,b,c,d,e,f)) $
+  xpWrap
+    ( \(a, b, c, d, e, f) -> Proto a b c d e f
+    , \(Proto a b c d e f) -> (a, b, c, d, e, f)) $
   xpElem "proto" $
   xp6Tuple
     (xpAttrImplied "group" xpText)
@@ -321,15 +317,16 @@
     (xpElem "name" xpText)
     xpText0
 
-data Param = Param {
-  paramLen :: Maybe String,
-  paramProto :: Proto
+data Param = Param
+  { paramLen :: Maybe String
+  , paramProto :: Proto
   } deriving (Eq, Ord, Show)
 
 xpParam :: PU Param
 xpParam =
-  xpWrap (\(b,a,c,d,e,f,g) -> Param a (Proto b c d e f g)
-         ,\(Param a (Proto b c d e f g)) -> (b,a,c,d,e,f,g)) $
+  xpWrap
+    ( \(b, a, c, d, e, f, g) -> Param a (Proto b c d e f g)
+    , \(Param a (Proto b c d e f g)) -> (b, a, c, d, e, f, g)) $
   xpElem "param" $
   xp7Tuple
     (xpAttrImplied "group" xpText)
@@ -340,17 +337,16 @@
     (xpElem "name" xpText)
     xpText0
 
-data GLX = GLX {
-  glxType :: String,
-  glxOpcode :: Int,
-  glxName :: Maybe Name,
-  glxComment :: Maybe Comment
+data GLX = GLX
+  { glxType :: String
+  , glxOpcode :: Int
+  , glxName :: Maybe Name
+  , glxComment :: Maybe Comment
   } deriving (Eq, Ord, Show)
 
 xpGLX :: PU GLX
 xpGLX =
-  xpWrap (\(a,b,c,d) -> GLX a b c d
-         ,\(GLX a b c d) -> (a,b,c,d)) $
+  xpWrap (\(a, b, c, d) -> GLX a b c d, \(GLX a b c d) -> (a, b, c, d)) $
   xpElem "glx" $
   xp4Tuple
     (xpAttr "type" xpText)
@@ -358,19 +354,20 @@
     (xpOption xpName)
     (xpOption xpCommentAttr)
 
-data Feature = Feature {
-  featureAPI :: String,
-  featureName :: Name,
-  featureNumber :: String,  -- actually xsd:decimal, but used as a string
-  featureProtect :: Maybe String,
-  featureComment :: Maybe Comment,
-  featureModifications :: [Modification]
+data Feature = Feature
+  { featureAPI :: String
+  , featureName :: Name
+  , featureNumber :: String -- actually xsd:decimal, but used as a string
+  , featureProtect :: Maybe String
+  , featureComment :: Maybe Comment
+  , featureModifications :: [Modification]
   } deriving (Eq, Ord, Show)
 
 xpFeature :: PU Feature
 xpFeature =
-  xpWrap (\(a,b,c,d,e,f) -> Feature a b c d e f
-         ,\(Feature a b c d e f) -> (a,b,c,d,e,f)) $
+  xpWrap
+    ( \(a, b, c, d, e, f) -> Feature a b c d e f
+    , \(Feature a b c d e f) -> (a, b, c, d, e, f)) $
   xpElem "feature" $
   xp6Tuple
     (xpAttr "api" xpText)
@@ -380,52 +377,53 @@
     (xpOption xpCommentAttr)
     (xpList xpModification)
 
-data Modification = Modification {
-  modificationModificationKind :: ModificationKind,
-  modificationProfileName :: Maybe ProfileName,
-  modificationComment :: Maybe Comment,
-  modificationInterfaceElements :: [InterfaceElement]
+data Modification = Modification
+  { modificationModificationKind :: ModificationKind
+  , modificationProfileName :: Maybe ProfileName
+  , modificationComment :: Maybe Comment
+  , modificationInterfaceElements :: [InterfaceElement]
   } deriving (Eq, Ord, Show)
 
-data ModificationKind = Require | Remove  -- TODO: Better name
+data ModificationKind
+  = Require
+  | Remove -- TODO: Better name
   deriving (Eq, Ord, Show, Enum)
 
 xpModification :: PU Modification
-xpModification =
-  xpAlt (fromEnum . modificationModificationKind) pus
-  where pus = [ xpMod "require" Require
-              , xpMod "remove" Remove ]
-        xpMod el kind =
-          xpWrap (\(a,b,c) -> Modification kind a b c
-                 ,\(Modification _ a b c) -> (a,b,c)) $
-          xpElem el $
-          xpTriple
-            (xpOption xpProfileName)
-            (xpOption xpCommentAttr)
-            (xpList xpInterfaceElement)
+xpModification = xpAlt (fromEnum . modificationModificationKind) pus
+  where
+    pus = [xpMod "require" Require, xpMod "remove" Remove]
+    xpMod el kind =
+      xpWrap
+        ( \(a, b, c) -> Modification kind a b c
+        , \(Modification _ a b c) -> (a, b, c)) $
+      xpElem el $
+      xpTriple
+        (xpOption xpProfileName)
+        (xpOption xpCommentAttr)
+        (xpList xpInterfaceElement)
 
-newtype Extensions = Extensions {
-  unExtensions :: [Extension]
+newtype Extensions = Extensions
+  { unExtensions :: [Extension]
   } deriving (Eq, Ord, Show)
 
 xpExtensions :: PU Extensions
 xpExtensions =
-  xpWrap (Extensions, unExtensions) $
-  xpElem "extensions" $
-  xpList xpExtension
+  xpWrap (Extensions, unExtensions) $ xpElem "extensions" $ xpList xpExtension
 
-data Extension = Extension {
-  extensionName :: Name,
-  extensionProtect :: Maybe String,
-  extensionSupported :: Maybe StringGroup,
-  extensionComment :: Maybe Comment,
-  extensionsRequireRemove :: [ConditionalModification]
+data Extension = Extension
+  { extensionName :: Name
+  , extensionProtect :: Maybe String
+  , extensionSupported :: Maybe StringGroup
+  , extensionComment :: Maybe Comment
+  , extensionsRequireRemove :: [ConditionalModification]
   } deriving (Eq, Ord, Show)
 
 xpExtension :: PU Extension
 xpExtension =
-  xpWrap (\(a,b,c,d,e) -> Extension a b c d e
-         ,\(Extension a b c d e) -> (a,b,c,d,e)) $
+  xpWrap
+    ( \(a, b, c, d, e) -> Extension a b c d e
+    , \(Extension a b c d e) -> (a, b, c, d, e)) $
   xpElem "extension" $
   xp5Tuple
     xpName
@@ -434,30 +432,34 @@
     (xpOption xpCommentAttr)
     (xpList xpConditionalModification)
 
-data ConditionalModification = ConditionalModification {
-  conditionalModificationAPI :: Maybe String,
-  conditionalModificationModification :: Modification
+data ConditionalModification = ConditionalModification
+  { conditionalModificationAPI :: Maybe String
+  , conditionalModificationModification :: Modification
   } deriving (Eq, Ord, Show)
 
 xpConditionalModification :: PU ConditionalModification
 xpConditionalModification =
-  xpAlt (fromEnum . modificationModificationKind . conditionalModificationModification) pus
-  where pus = [ xpMod "require" Require
-              , xpMod "remove" Remove ]
-        xpMod el kind =
-          xpWrap (\(a,b,c,d) -> ConditionalModification a (Modification kind b c d)
-                 ,\(ConditionalModification a (Modification _ b c d)) -> (a,b,c,d)) $
-          xpElem el $
-          xp4Tuple
-            (xpAttrImplied "api" xpText)
-            (xpOption xpProfileName)
-            (xpOption xpCommentAttr)
-            (xpList xpInterfaceElement)
+  xpAlt
+    (fromEnum .
+     modificationModificationKind . conditionalModificationModification)
+    pus
+  where
+    pus = [xpMod "require" Require, xpMod "remove" Remove]
+    xpMod el kind =
+      xpWrap
+        ( \(a, b, c, d) -> ConditionalModification a (Modification kind b c d)
+        , \(ConditionalModification a (Modification _ b c d)) -> (a, b, c, d)) $
+      xpElem el $
+      xp4Tuple
+        (xpAttrImplied "api" xpText)
+        (xpOption xpProfileName)
+        (xpOption xpCommentAttr)
+        (xpList xpInterfaceElement)
 
-data InterfaceElement = InterfaceElement {
-   interfaceElementKind :: InterfaceElementKind,
-   interfaceElementName :: Name,
-   interfaceElementComment :: Maybe Comment
+data InterfaceElement = InterfaceElement
+  { interfaceElementKind :: InterfaceElementKind
+  , interfaceElementName :: Name
+  , interfaceElementComment :: Maybe Comment
   } deriving (Eq, Ord, Show)
 
 data InterfaceElementKind
@@ -468,52 +470,62 @@
 
 xpInterfaceElement :: PU InterfaceElement
 xpInterfaceElement = xpAlt (fromEnum . interfaceElementKind) pus
-  where pus = [ xpIE InterfaceElementType "type"
-              , xpIE InterfaceElementEnum "enum"
-              , xpIE InterfaceElementCommand "command" ]
-        xpIE ty el =
-          xpWrap (\(a,b) -> InterfaceElement ty a b
-                 ,\(InterfaceElement _ a b) -> (a,b)) $
-          xpElem el $
-          xpPair
-            xpName
-            (xpOption xpCommentAttr)
+  where
+    pus =
+      [ xpIE InterfaceElementType "type"
+      , xpIE InterfaceElementEnum "enum"
+      , xpIE InterfaceElementCommand "command"
+      ]
+    xpIE ty el =
+      xpWrap
+        (uncurry (InterfaceElement ty), \(InterfaceElement _ a b) -> (a, b)) $
+      xpElem el $ xpPair xpName (xpOption xpCommentAttr)
 
-newtype Integer' = Integer { unInteger :: String } deriving (Eq, Ord, Show)
+newtype Integer' = Integer
+  { unInteger :: String
+  } deriving (Eq, Ord, Show)
 
 xpInteger :: PU Integer'
 xpInteger = xpWrap (Integer, unInteger) xpText
 
-newtype TypeName = TypeName { unTypeName :: String } deriving (Eq, Ord, Show)
+newtype TypeName = TypeName
+  { unTypeName :: String
+  } deriving (Eq, Ord, Show)
 
 xpTypeName :: PU TypeName
 xpTypeName = xpWrap (TypeName, unTypeName) xpText
 
-newtype TypeSuffix = TypeSuffix { unTypeSuffix :: String } deriving (Eq, Ord, Show)
+newtype TypeSuffix = TypeSuffix
+  { unTypeSuffix :: String
+  } deriving (Eq, Ord, Show)
 
 xpTypeSuffix :: PU TypeSuffix
 xpTypeSuffix = xpWrap (TypeSuffix, unTypeSuffix) xpText
 
-newtype StringGroup = StringGroup { unStringGroup :: String } deriving (Eq, Ord, Show)
+newtype StringGroup = StringGroup
+  { unStringGroup :: String
+  } deriving (Eq, Ord, Show)
 
 xpStringGroup :: PU StringGroup
 xpStringGroup = xpWrap (StringGroup, unStringGroup) xpText
 
-newtype ProfileName = ProfileName { unProfileName :: String } deriving (Eq, Ord, Show)
+newtype ProfileName = ProfileName
+  { unProfileName :: String
+  } deriving (Eq, Ord, Show)
 
 xpProfileName :: PU ProfileName
-xpProfileName =
-  xpAttr "profile" $
-  xpWrap (ProfileName, unProfileName) xpText
+xpProfileName = xpAttr "profile" $ xpWrap (ProfileName, unProfileName) xpText
 
-newtype Vendor = Vendor { unVendor :: String } deriving (Eq, Ord, Show)
+newtype Vendor = Vendor
+  { unVendor :: String
+  } deriving (Eq, Ord, Show)
 
 xpVendor :: PU Vendor
-xpVendor =
-  xpAttr "vendor" $
-  xpWrap (Vendor, unVendor) xpText
+xpVendor = xpAttr "vendor" $ xpWrap (Vendor, unVendor) xpText
 
-newtype Comment = Comment { unComment :: String } deriving (Eq, Ord, Show)
+newtype Comment = Comment
+  { unComment :: String
+  } deriving (Eq, Ord, Show)
 
 xpComment :: PU Comment
 xpComment = xpWrap (Comment, unComment) xpText
@@ -521,9 +533,9 @@
 xpCommentAttr :: PU Comment
 xpCommentAttr = xpAttr "comment" xpComment
 
-newtype Name = Name { unName :: String } deriving (Eq, Ord, Show)
+newtype Name = Name
+  { unName :: String
+  } deriving (Eq, Ord, Show)
 
 xpName :: PU Name
-xpName =
-  xpAttr "name" $
-  xpWrap (Name, unName) xpText
+xpName = xpAttr "name" $ xpWrap (Name, unName) xpText
diff --git a/src/Graphics/GL/ARB.hs b/src/Graphics/GL/ARB.hs
--- a/src/Graphics/GL/ARB.hs
+++ b/src/Graphics/GL/ARB.hs
@@ -81,6 +81,7 @@
   module Graphics.GL.ARB.PixelBufferObject,
   module Graphics.GL.ARB.PointParameters,
   module Graphics.GL.ARB.PointSprite,
+  module Graphics.GL.ARB.PolygonOffsetClamp,
   module Graphics.GL.ARB.ProgramInterfaceQuery,
   module Graphics.GL.ARB.ProvokingVertex,
   module Graphics.GL.ARB.QueryBufferObject,
@@ -103,6 +104,7 @@
   module Graphics.GL.ARB.ShadowAmbient,
   module Graphics.GL.ARB.SparseBuffer,
   module Graphics.GL.ARB.SparseTexture,
+  module Graphics.GL.ARB.SpirvExtensions,
   module Graphics.GL.ARB.StencilTexturing,
   module Graphics.GL.ARB.Sync,
   module Graphics.GL.ARB.TessellationShader,
@@ -118,6 +120,7 @@
   module Graphics.GL.ARB.TextureCubeMapArray,
   module Graphics.GL.ARB.TextureEnvCombine,
   module Graphics.GL.ARB.TextureEnvDot3,
+  module Graphics.GL.ARB.TextureFilterAnisotropic,
   module Graphics.GL.ARB.TextureFilterMinmax,
   module Graphics.GL.ARB.TextureFloat,
   module Graphics.GL.ARB.TextureGather,
@@ -222,6 +225,7 @@
 import Graphics.GL.ARB.PixelBufferObject
 import Graphics.GL.ARB.PointParameters
 import Graphics.GL.ARB.PointSprite
+import Graphics.GL.ARB.PolygonOffsetClamp
 import Graphics.GL.ARB.ProgramInterfaceQuery
 import Graphics.GL.ARB.ProvokingVertex
 import Graphics.GL.ARB.QueryBufferObject
@@ -244,6 +248,7 @@
 import Graphics.GL.ARB.ShadowAmbient
 import Graphics.GL.ARB.SparseBuffer
 import Graphics.GL.ARB.SparseTexture
+import Graphics.GL.ARB.SpirvExtensions
 import Graphics.GL.ARB.StencilTexturing
 import Graphics.GL.ARB.Sync
 import Graphics.GL.ARB.TessellationShader
@@ -259,6 +264,7 @@
 import Graphics.GL.ARB.TextureCubeMapArray
 import Graphics.GL.ARB.TextureEnvCombine
 import Graphics.GL.ARB.TextureEnvDot3
+import Graphics.GL.ARB.TextureFilterAnisotropic
 import Graphics.GL.ARB.TextureFilterMinmax
 import Graphics.GL.ARB.TextureFloat
 import Graphics.GL.ARB.TextureGather
diff --git a/src/Graphics/GL/ARB/PolygonOffsetClamp.hs b/src/Graphics/GL/ARB/PolygonOffsetClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/PolygonOffsetClamp.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.PolygonOffsetClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.PolygonOffsetClamp (
+  -- * Extension Support
+  glGetARBPolygonOffsetClamp,
+  gl_ARB_polygon_offset_clamp,
+  -- * Enums
+  pattern GL_POLYGON_OFFSET_CLAMP,
+  -- * Functions
+  glPolygonOffsetClamp
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/SpirvExtensions.hs b/src/Graphics/GL/ARB/SpirvExtensions.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SpirvExtensions.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SpirvExtensions
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SpirvExtensions (
+  -- * Extension Support
+  glGetARBSpirvExtensions,
+  gl_ARB_spirv_extensions,
+  -- * Enums
+  pattern GL_NUM_SPIR_V_EXTENSIONS,
+  pattern GL_SPIR_V_EXTENSIONS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureFilterAnisotropic.hs b/src/Graphics/GL/ARB/TextureFilterAnisotropic.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureFilterAnisotropic.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureFilterAnisotropic
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureFilterAnisotropic (
+  -- * Extension Support
+  glGetARBTextureFilterAnisotropic,
+  gl_ARB_texture_filter_anisotropic,
+  -- * Enums
+  pattern GL_MAX_TEXTURE_MAX_ANISOTROPY,
+  pattern GL_TEXTURE_MAX_ANISOTROPY
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/Compatibility30.hs b/src/Graphics/GL/Compatibility30.hs
--- a/src/Graphics/GL/Compatibility30.hs
+++ b/src/Graphics/GL/Compatibility30.hs
@@ -96,9 +96,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility31.hs b/src/Graphics/GL/Compatibility31.hs
--- a/src/Graphics/GL/Compatibility31.hs
+++ b/src/Graphics/GL/Compatibility31.hs
@@ -98,9 +98,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility32.hs b/src/Graphics/GL/Compatibility32.hs
--- a/src/Graphics/GL/Compatibility32.hs
+++ b/src/Graphics/GL/Compatibility32.hs
@@ -102,9 +102,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility33.hs b/src/Graphics/GL/Compatibility33.hs
--- a/src/Graphics/GL/Compatibility33.hs
+++ b/src/Graphics/GL/Compatibility33.hs
@@ -103,9 +103,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility40.hs b/src/Graphics/GL/Compatibility40.hs
--- a/src/Graphics/GL/Compatibility40.hs
+++ b/src/Graphics/GL/Compatibility40.hs
@@ -108,9 +108,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility41.hs b/src/Graphics/GL/Compatibility41.hs
--- a/src/Graphics/GL/Compatibility41.hs
+++ b/src/Graphics/GL/Compatibility41.hs
@@ -110,9 +110,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility42.hs b/src/Graphics/GL/Compatibility42.hs
--- a/src/Graphics/GL/Compatibility42.hs
+++ b/src/Graphics/GL/Compatibility42.hs
@@ -125,9 +125,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility43.hs b/src/Graphics/GL/Compatibility43.hs
--- a/src/Graphics/GL/Compatibility43.hs
+++ b/src/Graphics/GL/Compatibility43.hs
@@ -136,9 +136,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility44.hs b/src/Graphics/GL/Compatibility44.hs
--- a/src/Graphics/GL/Compatibility44.hs
+++ b/src/Graphics/GL/Compatibility44.hs
@@ -136,9 +136,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Compatibility45.hs b/src/Graphics/GL/Compatibility45.hs
--- a/src/Graphics/GL/Compatibility45.hs
+++ b/src/Graphics/GL/Compatibility45.hs
@@ -136,9 +136,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core30.hs b/src/Graphics/GL/Core30.hs
--- a/src/Graphics/GL/Core30.hs
+++ b/src/Graphics/GL/Core30.hs
@@ -96,9 +96,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core31.hs b/src/Graphics/GL/Core31.hs
--- a/src/Graphics/GL/Core31.hs
+++ b/src/Graphics/GL/Core31.hs
@@ -98,9 +98,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core32.hs b/src/Graphics/GL/Core32.hs
--- a/src/Graphics/GL/Core32.hs
+++ b/src/Graphics/GL/Core32.hs
@@ -61,9 +61,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core33.hs b/src/Graphics/GL/Core33.hs
--- a/src/Graphics/GL/Core33.hs
+++ b/src/Graphics/GL/Core33.hs
@@ -62,9 +62,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core40.hs b/src/Graphics/GL/Core40.hs
--- a/src/Graphics/GL/Core40.hs
+++ b/src/Graphics/GL/Core40.hs
@@ -67,9 +67,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core41.hs b/src/Graphics/GL/Core41.hs
--- a/src/Graphics/GL/Core41.hs
+++ b/src/Graphics/GL/Core41.hs
@@ -69,9 +69,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core42.hs b/src/Graphics/GL/Core42.hs
--- a/src/Graphics/GL/Core42.hs
+++ b/src/Graphics/GL/Core42.hs
@@ -84,9 +84,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core43.hs b/src/Graphics/GL/Core43.hs
--- a/src/Graphics/GL/Core43.hs
+++ b/src/Graphics/GL/Core43.hs
@@ -95,9 +95,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core44.hs b/src/Graphics/GL/Core44.hs
--- a/src/Graphics/GL/Core44.hs
+++ b/src/Graphics/GL/Core44.hs
@@ -95,9 +95,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Core45.hs b/src/Graphics/GL/Core45.hs
--- a/src/Graphics/GL/Core45.hs
+++ b/src/Graphics/GL/Core45.hs
@@ -95,9 +95,11 @@
   pattern GL_BGRA_INTEGER,
   pattern GL_BGR_INTEGER,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/EXT/Semaphore.hs b/src/Graphics/GL/EXT/Semaphore.hs
--- a/src/Graphics/GL/EXT/Semaphore.hs
+++ b/src/Graphics/GL/EXT/Semaphore.hs
@@ -19,6 +19,8 @@
   pattern GL_DEVICE_UUID_EXT,
   pattern GL_DRIVER_UUID_EXT,
   pattern GL_LAYOUT_COLOR_ATTACHMENT_EXT,
+  pattern GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT,
+  pattern GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT,
   pattern GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT,
   pattern GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT,
   pattern GL_LAYOUT_GENERAL_EXT,
diff --git a/src/Graphics/GL/ExtensionPredicates.hs b/src/Graphics/GL/ExtensionPredicates.hs
--- a/src/Graphics/GL/ExtensionPredicates.hs
+++ b/src/Graphics/GL/ExtensionPredicates.hs
@@ -1174,6 +1174,17 @@
 gl_ARB_point_sprite = member "GL_ARB_point_sprite" extensions
 {-# NOINLINE gl_ARB_point_sprite #-}
 
+-- | Is the <https://www.opengl.org/registry/specs/ARB/polygon_offset_clamp.txt ARB_polygon_offset_clamp> extension supported?
+glGetARBPolygonOffsetClamp :: MonadIO m => m Bool
+glGetARBPolygonOffsetClamp = getExtensions >>= (return . member "GL_ARB_polygon_offset_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/polygon_offset_clamp.txt ARB_polygon_offset_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBPolygonOffsetClamp' in those cases instead.
+gl_ARB_polygon_offset_clamp :: Bool
+gl_ARB_polygon_offset_clamp = member "GL_ARB_polygon_offset_clamp" extensions
+{-# NOINLINE gl_ARB_polygon_offset_clamp #-}
+
 -- | Is the <https://www.opengl.org/registry/specs/ARB/program_interface_query.txt ARB_program_interface_query> extension supported?
 glGetARBProgramInterfaceQuery :: MonadIO m => m Bool
 glGetARBProgramInterfaceQuery = getExtensions >>= (return . member "GL_ARB_program_interface_query")
@@ -1405,6 +1416,17 @@
 gl_ARB_sparse_texture = member "GL_ARB_sparse_texture" extensions
 {-# NOINLINE gl_ARB_sparse_texture #-}
 
+-- | Is the <https://www.opengl.org/registry/specs/ARB/spirv_extensions.txt ARB_spirv_extensions> extension supported?
+glGetARBSpirvExtensions :: MonadIO m => m Bool
+glGetARBSpirvExtensions = getExtensions >>= (return . member "GL_ARB_spirv_extensions")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/spirv_extensions.txt ARB_spirv_extensions> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSpirvExtensions' in those cases instead.
+gl_ARB_spirv_extensions :: Bool
+gl_ARB_spirv_extensions = member "GL_ARB_spirv_extensions" extensions
+{-# NOINLINE gl_ARB_spirv_extensions #-}
+
 -- | Is the <https://www.opengl.org/registry/specs/ARB/stencil_texturing.txt ARB_stencil_texturing> extension supported?
 glGetARBStencilTexturing :: MonadIO m => m Bool
 glGetARBStencilTexturing = getExtensions >>= (return . member "GL_ARB_stencil_texturing")
@@ -1570,6 +1592,17 @@
 gl_ARB_texture_env_dot3 = member "GL_ARB_texture_env_dot3" extensions
 {-# NOINLINE gl_ARB_texture_env_dot3 #-}
 
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_filter_anisotropic.txt ARB_texture_filter_anisotropic> extension supported?
+glGetARBTextureFilterAnisotropic :: MonadIO m => m Bool
+glGetARBTextureFilterAnisotropic = getExtensions >>= (return . member "GL_ARB_texture_filter_anisotropic")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_filter_anisotropic.txt ARB_texture_filter_anisotropic> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureFilterAnisotropic' in those cases instead.
+gl_ARB_texture_filter_anisotropic :: Bool
+gl_ARB_texture_filter_anisotropic = member "GL_ARB_texture_filter_anisotropic" extensions
+{-# NOINLINE gl_ARB_texture_filter_anisotropic #-}
+
 -- | Is the <https://www.opengl.org/registry/specs/ARB/texture_filter_minmax.txt ARB_texture_filter_minmax> extension supported?
 glGetARBTextureFilterMinmax :: MonadIO m => m Bool
 glGetARBTextureFilterMinmax = getExtensions >>= (return . member "GL_ARB_texture_filter_minmax")
@@ -3484,6 +3517,17 @@
 gl_KHR_no_error = member "GL_KHR_no_error" extensions
 {-# NOINLINE gl_KHR_no_error #-}
 
+-- | Is the <https://www.opengl.org/registry/specs/KHR/parallel_shader_compile.txt KHR_parallel_shader_compile> extension supported?
+glGetKHRParallelShaderCompile :: MonadIO m => m Bool
+glGetKHRParallelShaderCompile = getExtensions >>= (return . member "GL_KHR_parallel_shader_compile")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/parallel_shader_compile.txt KHR_parallel_shader_compile> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRParallelShaderCompile' in those cases instead.
+gl_KHR_parallel_shader_compile :: Bool
+gl_KHR_parallel_shader_compile = member "GL_KHR_parallel_shader_compile" extensions
+{-# NOINLINE gl_KHR_parallel_shader_compile #-}
+
 -- | Is the <https://www.opengl.org/registry/specs/KHR/robustness.txt KHR_robustness> extension supported?
 glGetKHRRobustness :: MonadIO m => m Bool
 glGetKHRRobustness = getExtensions >>= (return . member "GL_KHR_robustness")
@@ -3528,6 +3572,17 @@
 gl_MESA_pack_invert = member "GL_MESA_pack_invert" extensions
 {-# NOINLINE gl_MESA_pack_invert #-}
 
+-- | Is the <https://www.opengl.org/registry/specs/MESA/program_binary_formats.txt MESA_program_binary_formats> extension supported?
+glGetMESAProgramBinaryFormats :: MonadIO m => m Bool
+glGetMESAProgramBinaryFormats = getExtensions >>= (return . member "GL_MESA_program_binary_formats")
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/program_binary_formats.txt MESA_program_binary_formats> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetMESAProgramBinaryFormats' in those cases instead.
+gl_MESA_program_binary_formats :: Bool
+gl_MESA_program_binary_formats = member "GL_MESA_program_binary_formats" extensions
+{-# NOINLINE gl_MESA_program_binary_formats #-}
+
 -- | Is the <https://www.opengl.org/registry/specs/MESA/resize_buffers.txt MESA_resize_buffers> extension supported?
 glGetMESAResizeBuffers :: MonadIO m => m Bool
 glGetMESAResizeBuffers = getExtensions >>= (return . member "GL_MESA_resize_buffers")
@@ -3539,6 +3594,17 @@
 gl_MESA_resize_buffers = member "GL_MESA_resize_buffers" extensions
 {-# NOINLINE gl_MESA_resize_buffers #-}
 
+-- | Is the <https://www.opengl.org/registry/specs/MESA/tile_raster_order.txt MESA_tile_raster_order> extension supported?
+glGetMESATileRasterOrder :: MonadIO m => m Bool
+glGetMESATileRasterOrder = getExtensions >>= (return . member "GL_MESA_tile_raster_order")
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/tile_raster_order.txt MESA_tile_raster_order> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetMESATileRasterOrder' in those cases instead.
+gl_MESA_tile_raster_order :: Bool
+gl_MESA_tile_raster_order = member "GL_MESA_tile_raster_order" extensions
+{-# NOINLINE gl_MESA_tile_raster_order #-}
+
 -- | Is the <https://www.opengl.org/registry/specs/MESA/window_pos.txt MESA_window_pos> extension supported?
 glGetMESAWindowPos :: MonadIO m => m Bool
 glGetMESAWindowPos = getExtensions >>= (return . member "GL_MESA_window_pos")
@@ -3638,6 +3704,17 @@
 gl_NV_blend_equation_advanced_coherent = member "GL_NV_blend_equation_advanced_coherent" extensions
 {-# NOINLINE gl_NV_blend_equation_advanced_coherent #-}
 
+-- | Is the <https://www.opengl.org/registry/specs/NV/blend_minmax_factor.txt NV_blend_minmax_factor> extension supported?
+glGetNVBlendMinmaxFactor :: MonadIO m => m Bool
+glGetNVBlendMinmaxFactor = getExtensions >>= (return . member "GL_NV_blend_minmax_factor")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/blend_minmax_factor.txt NV_blend_minmax_factor> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVBlendMinmaxFactor' in those cases instead.
+gl_NV_blend_minmax_factor :: Bool
+gl_NV_blend_minmax_factor = member "GL_NV_blend_minmax_factor" extensions
+{-# NOINLINE gl_NV_blend_minmax_factor #-}
+
 -- | Is the <https://www.opengl.org/registry/specs/NV/clip_space_w_scaling.txt NV_clip_space_w_scaling> extension supported?
 glGetNVClipSpaceWScaling :: MonadIO m => m Bool
 glGetNVClipSpaceWScaling = getExtensions >>= (return . member "GL_NV_clip_space_w_scaling")
@@ -4121,6 +4198,28 @@
 gl_NV_primitive_restart :: Bool
 gl_NV_primitive_restart = member "GL_NV_primitive_restart" extensions
 {-# NOINLINE gl_NV_primitive_restart #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/query_resource.txt NV_query_resource> extension supported?
+glGetNVQueryResource :: MonadIO m => m Bool
+glGetNVQueryResource = getExtensions >>= (return . member "GL_NV_query_resource")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/query_resource.txt NV_query_resource> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVQueryResource' in those cases instead.
+gl_NV_query_resource :: Bool
+gl_NV_query_resource = member "GL_NV_query_resource" extensions
+{-# NOINLINE gl_NV_query_resource #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/query_resource_tag.txt NV_query_resource_tag> extension supported?
+glGetNVQueryResourceTag :: MonadIO m => m Bool
+glGetNVQueryResourceTag = getExtensions >>= (return . member "GL_NV_query_resource_tag")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/query_resource_tag.txt NV_query_resource_tag> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVQueryResourceTag' in those cases instead.
+gl_NV_query_resource_tag :: Bool
+gl_NV_query_resource_tag = member "GL_NV_query_resource_tag" extensions
+{-# NOINLINE gl_NV_query_resource_tag #-}
 
 -- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners.txt NV_register_combiners> extension supported?
 glGetNVRegisterCombiners :: MonadIO m => m Bool
diff --git a/src/Graphics/GL/Foreign.hs b/src/Graphics/GL/Foreign.hs
--- a/src/Graphics/GL/Foreign.hs
+++ b/src/Graphics/GL/Foreign.hs
@@ -46,3683 +46,3687 @@
   :: FunPtr (GLDEBUGPROCKHR -> Ptr a -> IO ())
   ->         GLDEBUGPROCKHR -> Ptr a -> IO ()
 
-foreign import CALLCONV "dynamic" dyn389
-  :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn501
-  :: FunPtr (GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-  ->         GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn388
-  :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn72
-  :: FunPtr (GLbitfield -> IO ())
-  ->         GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn126
-  :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-  ->         GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn194
-  :: FunPtr (GLboolean -> IO ())
-  ->         GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn111
-  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn37
-  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn748
-  :: FunPtr (GLbyte -> GLbyte -> IO ())
-  ->         GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn474
-  :: FunPtr (GLbyte -> IO ())
-  ->         GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn219
-  :: FunPtr (GLclampd -> GLclampd -> IO ())
-  ->         GLclampd -> GLclampd -> IO ()
-
-foreign import CALLCONV "dynamic" dyn722
-  :: FunPtr (GLclampf -> GLboolean -> IO ())
-  ->         GLclampf -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn226
-  :: FunPtr (GLclampf -> GLclampf -> IO ())
-  ->         GLclampf -> GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn83
-  :: FunPtr (GLclampf -> IO ())
-  ->         GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn721
-  :: FunPtr (GLclampx -> GLboolean -> IO ())
-  ->         GLclampx -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn302
-  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn112
-  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn39
-  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn220
-  :: FunPtr (GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn81
-  :: FunPtr (GLdouble -> IO ())
-  ->         GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn280
-  :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
-  ->         GLenum -> GLbitfield -> IO GLsync
-
-foreign import CALLCONV "dynamic" dyn460
-  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn344
-  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn574
-  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn569
-  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn563
-  :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn556
-  :: FunPtr (GLenum -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn10
-  :: FunPtr (GLenum -> GLclampf -> IO ())
-  ->         GLenum -> GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn533
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn537
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn539
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn213
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn513
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn510
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn564
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn558
-  :: FunPtr (GLenum -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn262
-  :: FunPtr (GLenum -> GLeglImageOES -> IO ())
-  ->         GLenum -> GLeglImageOES -> IO ()
-
-foreign import CALLCONV "dynamic" dyn541
-  :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn755
-  :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn581
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn138
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn137
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn54
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn325
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn326
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn73
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn579
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn580
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn355
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn354
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn209
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn466
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ()
-
-foreign import CALLCONV "dynamic" dyn458
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn294
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn296
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn295
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn293
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn289
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn306
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn740
-  :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn32
-  :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint)
-  ->         GLenum -> GLenum -> GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn362
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn327
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn328
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn366
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn324
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn412
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ()
-
-foreign import CALLCONV "dynamic" dyn165
-  :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-  ->         GLenum -> GLenum -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn164
-  :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn363
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn172
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn173
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn142
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn143
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn144
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn364
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn365
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn176
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn175
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn587
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn147
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn174
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn586
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn146
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn585
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn145
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn582
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn583
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn584
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn170
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn169
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn739
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn63
-  :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn633
-  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn330
-  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn552
-  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn167
-  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn74
-  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn134
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn353
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn163
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn728
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ()
-
-foreign import CALLCONV "dynamic" dyn773
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn704
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn461
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn462
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn463
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn210
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn655
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn211
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn297
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn299
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn301
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn298
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn300
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn292
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn747
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn212
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn342
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn30
-  :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn52
-  :: FunPtr (GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn516
-  :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
-  ->         GLenum -> GLenum -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn29
-  :: FunPtr (GLenum -> GLenum -> IO GLuint)
-  ->         GLenum -> GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn323
-  :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn361
-  :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn166
-  :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn135
-  :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn136
-  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn413
-  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn321
-  :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn422
-  :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn322
-  :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn551
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn550
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn549
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn245
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn577
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn573
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn515
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn512
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn568
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn1
-  :: FunPtr (GLenum -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn538
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn540
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn214
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn514
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn511
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn565
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn0
-  :: FunPtr (GLenum -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn575
-  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn570
-  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn566
-  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn559
-  :: FunPtr (GLenum -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn467
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn418
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn179
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn180
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn148
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn149
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn761
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn150
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn764
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn14
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn578
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn421
-  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ())
-  ->         GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn419
-  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn420
-  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn75
-  :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLfloat -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn183
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn776
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn182
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn765
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn276
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn153
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn181
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn269
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn775
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn152
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn571
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn774
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn151
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn756
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn757
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn760
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn268
-  :: FunPtr (GLenum -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn235
-  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn234
-  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn232
-  :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn459
-  :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn629
-  :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
-  ->         GLenum -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn56
-  :: FunPtr (GLenum -> GLint -> IO ())
-  ->         GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn284
-  :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-  ->         GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn617
-  :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn399
-  :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
-  ->         GLenum -> GLint -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn76
-  :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn77
-  :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ())
-  ->         GLenum -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn78
-  :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn331
-  :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn483
-  :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
-  ->         GLenum -> GLintptr -> GLbitfield -> IO GLsync
-
-foreign import CALLCONV "dynamic" dyn546
-  :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn517
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-  ->         GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn62
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
-  ->         GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn65
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ())
-  ->         GLenum -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn282
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn67
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-  ->         GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn68
-  :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
-  ->         GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn576
-  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn572
-  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn567
-  :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn561
-  :: FunPtr (GLenum -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn478
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn770
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn758
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn772
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn762
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn771
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn767
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn769
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn705
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn768
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn766
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn244
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn249
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn248
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn247
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn246
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn390
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn243
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn168
-  :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn133
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn706
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn759
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn763
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn484
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn242
-  :: FunPtr (GLenum -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn203
-  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-  ->         GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn707
-  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> GLsizei -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn489
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn229
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn228
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn923
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn200
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn464
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn47
-  :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn66
-  :: FunPtr (GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> IO ())
-  ->         GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn64
-  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-  ->         GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn60
-  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-  ->         GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn61
-  :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ())
-  ->         GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn647
-  :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn810
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn360
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn518
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn693
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn620
-  :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
-  ->         GLenum -> GLuint -> GLenum -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn404
-  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn358
-  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn359
-  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn648
-  :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn649
-  :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn260
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn502
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn653
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn290
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn650
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn380
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn506
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn23
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn24
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn251
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn22
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn21
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn254
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn253
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn252
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn646
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn644
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn645
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn125
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn9
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn124
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn8
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn123
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn7
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn731
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn730
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn18
-  :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn291
-  :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn553
-  :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn59
-  :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn17
-  :: FunPtr (GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn416
-  :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
-  ->         GLenum -> GLuint -> IO (Ptr GLubyte)
-
-foreign import CALLCONV "dynamic" dyn493
-  :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-  ->         GLenum -> GLuint -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn329
-  :: FunPtr (GLenum -> GLuint -> IO GLuint)
-  ->         GLenum -> GLuint -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn400
-  :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> GLuint -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn319
-  :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn337
-  :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn271
-  :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn350
-  :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn348
-  :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn239
-  :: FunPtr (GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn449
-  :: FunPtr (GLenum -> GLuint -> Ptr GLubyte -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn217
-  :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn351
-  :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn5
-  :: FunPtr (GLenum -> IO ())
-  ->         GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn415
-  :: FunPtr (GLenum -> IO (Ptr GLubyte))
-  ->         GLenum -> IO (Ptr GLubyte)
-
-foreign import CALLCONV "dynamic" dyn492
-  :: FunPtr (GLenum -> IO GLboolean)
-  ->         GLenum -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn70
-  :: FunPtr (GLenum -> IO GLenum)
-  ->         GLenum -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn201
-  :: FunPtr (GLenum -> IO GLhandleARB)
-  ->         GLenum -> IO GLhandleARB
-
-foreign import CALLCONV "dynamic" dyn703
-  :: FunPtr (GLenum -> IO GLint)
-  ->         GLenum -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn31
-  :: FunPtr (GLenum -> IO GLuint)
-  ->         GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn414
-  :: FunPtr (GLenum -> IO GLushort)
-  ->         GLenum -> IO GLushort
-
-foreign import CALLCONV "dynamic" dyn272
-  :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn320
-  :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
-  ->         GLenum -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn557
-  :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
-  ->         GLenum -> Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn202
-  :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint)
-  ->         GLenum -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn96
-  :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn98
-  :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-  ->         GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn97
-  :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn560
-  :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
-  ->         GLenum -> Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn139
-  :: FunPtr (GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn542
-  :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn349
-  :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
-  ->         GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn562
-  :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-  ->         GLenum -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn547
-  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
-  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn548
-  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn450
-  :: FunPtr (GLenum -> Ptr GLubyte -> IO ())
-  ->         GLenum -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn128
-  :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-  ->         GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn238
-  :: FunPtr (GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ())
-  ->         GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn352
-  :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
-  ->         GLenum -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn398
-  :: FunPtr (GLenum -> Ptr GLushort -> IO ())
-  ->         GLenum -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn625
-  :: FunPtr (GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum)
-  ->         GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn545
-  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn544
-  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn543
-  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn233
-  :: FunPtr (GLenum -> Ptr a -> IO ())
-  ->         GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn303
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn259
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn51
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn109
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn227
-  :: FunPtr (GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn84
-  :: FunPtr (GLfixed -> IO ())
-  ->         GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn720
-  :: FunPtr (GLfloat -> GLboolean -> IO ())
-  ->         GLfloat -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn754
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn749
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn113
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn638
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn99
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn255
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn50
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn41
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn751
-  :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn225
-  :: FunPtr (GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn82
-  :: FunPtr (GLfloat -> IO ())
-  ->         GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn115
-  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn101
-  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn753
-  :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn285
-  :: FunPtr (GLhalfNV -> IO ())
-  ->         GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn381
-  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn382
-  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
-  ->         GLhandleARB -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn15
-  :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
-  ->         GLhandleARB -> GLhandleARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn441
-  :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLhandleARB -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn445
-  :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
-  ->         GLhandleARB -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn732
-  :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
-  ->         GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn346
-  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
-  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn315
-  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
-  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn309
-  :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
-  ->         GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn20
-  :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ())
-  ->         GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn140
-  :: FunPtr (GLhandleARB -> IO ())
-  ->         GLhandleARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn318
-  :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
-  ->         GLhandleARB -> Ptr GLcharARB -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn843
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn836
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn522
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn519
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn816
-  :: FunPtr (GLint -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn131
-  :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-  ->         GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn130
-  :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-  ->         GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn122
-  :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
-  ->         GLint -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn129
-  :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn132
-  :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLint -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn524
-  :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn521
-  :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ())
-  ->         GLint -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn844
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn837
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn523
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn520
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn818
-  :: FunPtr (GLint -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn57
-  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-  ->         GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn256
-  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn79
-  :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn43
-  :: FunPtr (GLint -> GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn697
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn696
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn178
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn723
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn270
-  :: FunPtr (GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn845
-  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn838
-  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn831
-  :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn820
-  :: FunPtr (GLint -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn846
-  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn839
-  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn832
-  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn821
-  :: FunPtr (GLint -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn850
-  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-  ->         GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn851
-  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-  ->         GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn507
-  :: FunPtr (GLint -> GLsizei -> IO ())
-  ->         GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn817
-  :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn819
-  :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn824
-  :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn822
-  :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn823
-  :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn830
-  :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn828
-  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn829
-  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn847
-  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn840
-  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn833
-  :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn825
-  :: FunPtr (GLint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn848
-  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn841
-  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn834
-  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn826
-  :: FunPtr (GLint -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn849
-  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn842
-  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn835
-  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn827
-  :: FunPtr (GLint -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn503
-  :: FunPtr (GLint -> GLushort -> IO ())
-  ->         GLint -> GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn13
-  :: FunPtr (GLint -> IO ())
-  ->         GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn266
-  :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ())
-  ->         GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn918
-  :: FunPtr (GLint -> Ptr GLbyte -> IO ())
-  ->         GLint -> Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn379
-  :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
-  ->         GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn378
-  :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
-  ->         GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn216
-  :: FunPtr (GLint -> Ptr GLchar -> IO ())
-  ->         GLint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn495
-  :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean)
-  ->         GLint -> Ptr GLchar -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn919
-  :: FunPtr (GLint -> Ptr GLdouble -> IO ())
-  ->         GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn237
-  :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ())
-  ->         GLint -> Ptr GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn920
-  :: FunPtr (GLint -> Ptr GLfloat -> IO ())
-  ->         GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn921
-  :: FunPtr (GLint -> Ptr GLint -> IO ())
-  ->         GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn922
-  :: FunPtr (GLint -> Ptr GLshort -> IO ())
-  ->         GLint -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn534
-  :: FunPtr (GLint -> Ptr GLubyte -> IO ())
-  ->         GLint -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn535
-  :: FunPtr (GLint -> Ptr GLuint -> IO ())
-  ->         GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn536
-  :: FunPtr (GLint -> Ptr GLushort -> IO ())
-  ->         GLint -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn231
-  :: FunPtr (GLintptr -> IO ())
-  ->         GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn257
-  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn116
-  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn45
-  :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn694
-  :: FunPtr (GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn475
-  :: FunPtr (GLshort -> IO ())
-  ->         GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn279
-  :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
-  ->         GLsizei -> GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn278
-  :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn193
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn742
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn737
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn744
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn741
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn69
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn250
-  :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn49
-  :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ())
-  ->         GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn48
-  :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
-  ->         GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn265
-  :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
-  ->         GLsizei -> GLsizei -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn92
-  :: FunPtr (GLsizei -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLsizei -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn736
-  :: FunPtr (GLsizei -> GLuint -> IO ())
-  ->         GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn263
-  :: FunPtr (GLsizei -> IO ())
-  ->         GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn304
-  :: FunPtr (GLsizei -> IO GLuint)
-  ->         GLsizei -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn485
-  :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
-  ->         GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn236
-  :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
-  ->         GLsizei -> Ptr GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn195
-  :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn811
-  :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
-  ->         GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn813
-  :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
-  ->         GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn486
-  :: FunPtr (GLsizei -> Ptr GLint -> IO ())
-  ->         GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn465
-  :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
-  ->         GLsizei -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn729
-  :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-  ->         GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn196
-  :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-  ->         GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn12
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-  ->         GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn640
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
-  ->         GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn641
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ())
-  ->         GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn639
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn857
-  :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
-  ->         GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn618
-  :: FunPtr (GLsizei -> Ptr a -> GLenum -> IO GLuint)
-  ->         GLsizei -> Ptr a -> GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn264
-  :: FunPtr (GLsizei -> Ptr a -> IO ())
-  ->         GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn916
-  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
-  ->         GLsync -> GLbitfield -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn95
-  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
-  ->         GLsync -> GLbitfield -> GLuint64 -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn417
-  :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-  ->         GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn218
-  :: FunPtr (GLsync -> IO ())
-  ->         GLsync -> IO ()
-
-foreign import CALLCONV "dynamic" dyn498
-  :: FunPtr (GLsync -> IO GLboolean)
-  ->         GLsync -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn120
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn118
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn117
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn103
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn476
-  :: FunPtr (GLubyte -> IO ())
-  ->         GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn500
-  :: FunPtr (GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn588
-  :: FunPtr (GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn853
-  :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
-  ->         GLuint -> GLbitfield -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn592
-  :: FunPtr (GLuint -> GLbitfield -> IO ())
-  ->         GLuint -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn127
-  :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-  ->         GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn727
-  :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn695
-  :: FunPtr (GLuint -> GLboolean -> IO ())
-  ->         GLuint -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn888
-  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn884
-  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn223
-  :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn877
-  :: FunPtr (GLuint -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn909
-  :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn910
-  :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn55
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn85
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn787
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn788
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn803
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn613
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn603
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn602
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn778
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn598
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn53
-  :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn430
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn371
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn429
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn377
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn505
-  :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn425
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn184
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn185
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn154
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn155
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn156
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn427
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn275
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn88
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn192
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn190
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn808
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn162
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn188
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn171
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn807
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn160
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn805
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn158
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn779
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn780
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn783
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn481
-  :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn89
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn90
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn91
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn333
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn86
-  :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn793
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn797
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn795
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn791
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn790
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn782
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn785
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn781
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn784
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn614
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn861
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn392
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn630
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn87
-  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn628
-  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
-  ->         GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn606
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn809
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn743
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn311
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn607
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn604
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn608
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn605
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn601
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn777
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn407
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn408
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn610
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn611
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn310
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn612
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn372
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn609
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn738
-  :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn375
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn376
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn373
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn434
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn374
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn862
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn16
-  :: FunPtr (GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn525
-  :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
-  ->         GLuint -> GLenum -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn499
-  :: FunPtr (GLuint -> GLenum -> IO GLboolean)
-  ->         GLuint -> GLenum -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn71
-  :: FunPtr (GLuint -> GLenum -> IO GLenum)
-  ->         GLuint -> GLenum -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn369
-  :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn356
-  :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn406
-  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
-  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn405
-  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn274
-  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn453
-  :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn357
-  :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn341
-  :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn367
-  :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn454
-  :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn409
-  :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn384
-  :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn411
-  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn368
-  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn627
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn626
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn624
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
-  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn643
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLint -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn642
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn482
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn714
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn710
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn716
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn708
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn717
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn889
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn718
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn224
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn497
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-  ->         GLuint -> GLfloat -> GLfloat -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn878
-  :: FunPtr (GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn890
-  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn885
-  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn882
-  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn879
-  :: FunPtr (GLuint -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn528
-  :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
-  ->         GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn345
-  :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
-  ->         GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
-
-foreign import CALLCONV "dynamic" dyn682
-  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn674
-  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn666
-  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn656
-  :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn892
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn894
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn911
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn893
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn424
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn93
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn654
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn897
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn898
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn896
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn426
-  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn428
-  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn683
-  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn675
-  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn667
-  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn657
-  :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn191
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn189
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn684
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn786
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn432
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn94
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn161
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn334
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn491
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn187
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn676
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn806
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn159
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn668
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn804
-  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn157
-  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn725
-  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn658
-  :: FunPtr (GLuint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn685
-  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn677
-  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn669
-  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn659
-  :: FunPtr (GLuint -> GLint -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn686
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn678
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn670
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn660
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn690
-  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn691
-  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn468
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn469
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn471
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn470
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn661
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn473
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn472
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn665
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn332
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn745
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn687
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn679
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn671
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn662
-  :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn688
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn680
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn672
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn663
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn689
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn681
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn673
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn664
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn490
-  :: FunPtr (GLuint -> GLint -> IO ())
-  ->         GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn436
-  :: FunPtr (GLuint -> GLint -> IO GLint)
-  ->         GLuint -> GLint -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn438
-  :: FunPtr (GLuint -> GLint -> IO GLintptr)
-  ->         GLuint -> GLint -> IO GLintptr
-
-foreign import CALLCONV "dynamic" dyn439
-  :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn440
-  :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn444
-  :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn442
-  :: FunPtr (GLuint -> GLint -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLint -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn443
-  :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn448
-  :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn446
-  :: FunPtr (GLuint -> GLint -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLint -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn447
-  :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn907
-  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn905
-  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn903
-  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn899
-  :: FunPtr (GLuint -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn526
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-  ->         GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn594
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
-  ->         GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn596
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ())
-  ->         GLuint -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn283
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn370
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-  ->         GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn891
-  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn886
-  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn883
-  :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn881
-  :: FunPtr (GLuint -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn800
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn792
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn802
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn796
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn801
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn794
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn799
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn615
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn798
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn789
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn623
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn616
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn632
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn634
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
-  ->         GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn631
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn387
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat)
-  ->         GLuint -> GLsizei -> GLsizei -> IO GLfloat
-
-foreign import CALLCONV "dynamic" dyn215
-  :: FunPtr (GLuint -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn814
-  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn141
-  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn437
-  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn222
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn488
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn286
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn335
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn336
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn221
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn912
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn815
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn724
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn913
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn338
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn401
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn316
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn651
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn652
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn622
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn914
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn402
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn403
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn313
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn28
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn917
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn34
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn597
-  :: FunPtr (GLuint -> GLsizeiptr -> GLuint -> GLuint64 -> IO ())
-  ->         GLuint -> GLsizeiptr -> GLuint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn595
-  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-  ->         GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn593
-  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-  ->         GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn712
-  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn887
-  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn531
-  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn529
-  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn746
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn36
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn873
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn410
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn35
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn872
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn621
-  :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn452
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn455
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn456
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn307
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn451
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn591
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn590
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn393
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn258
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn532
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn530
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn496
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn26
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn27
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn867
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn870
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn868
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn58
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn186
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn177
-  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn33
-  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn871
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn599
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn312
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn308
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn314
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn876
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn852
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn395
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn288
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn487
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn875
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn874
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn869
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn812
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn589
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn735
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn230
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn895
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn80
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn287
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn105
-  :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn391
-  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn25
-  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn600
-  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn4
-  :: FunPtr (GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn431
-  :: FunPtr (GLuint -> GLuint -> IO GLuint64)
-  ->         GLuint -> GLuint -> IO GLuint64
-
-foreign import CALLCONV "dynamic" dyn504
-  :: FunPtr (GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn19
-  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn397
-  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn433
-  :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn733
-  :: FunPtr (GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> IO ())
-  ->         GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn479
-  :: FunPtr (GLuint -> GLuint64 -> GLenum -> GLint -> IO ())
-  ->         GLuint -> GLuint64 -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn480
-  :: FunPtr (GLuint -> GLuint64 -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLuint64 -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn2
-  :: FunPtr (GLuint -> GLuint64 -> GLuint -> IO GLboolean)
-  ->         GLuint -> GLuint64 -> GLuint -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn702
-  :: FunPtr (GLuint -> GLuint64 -> IO GLboolean)
-  ->         GLuint -> GLuint64 -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn636
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn637
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn908
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn906
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn904
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn901
-  :: FunPtr (GLuint -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn3
-  :: FunPtr (GLuint -> IO ())
-  ->         GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn527
-  :: FunPtr (GLuint -> IO (Ptr a))
-  ->         GLuint -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn277
-  :: FunPtr (GLuint -> IO GLboolean)
-  ->         GLuint -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn343
-  :: FunPtr (GLuint -> IO GLsizei)
-  ->         GLuint -> IO GLsizei
-
-foreign import CALLCONV "dynamic" dyn305
-  :: FunPtr (GLuint -> IO GLuint)
-  ->         GLuint -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn423
-  :: FunPtr (GLuint -> IO GLuint64)
-  ->         GLuint -> IO GLuint64
-
-foreign import CALLCONV "dynamic" dyn863
-  :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-  ->         GLuint -> Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn734
-  :: FunPtr (GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn6
-  :: FunPtr (GLuint -> Ptr GLchar -> IO ())
-  ->         GLuint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn317
-  :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-  ->         GLuint -> Ptr GLchar -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn435
-  :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn864
-  :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn386
-  :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn880
-  :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
-  ->         GLuint -> Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn726
-  :: FunPtr (GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn394
-  :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn900
-  :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn241
-  :: FunPtr (GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-  ->         GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn865
-  :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-  ->         GLuint -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn385
-  :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-  ->         GLuint -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn197
-  :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn915
-  :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
-  ->         GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn902
-  :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn866
-  :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-  ->         GLuint -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn509
-  :: FunPtr (GLuint64 -> GLenum -> IO ())
-  ->         GLuint64 -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn261
-  :: FunPtr (GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn508
-  :: FunPtr (GLuint64 -> IO ())
-  ->         GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn494
-  :: FunPtr (GLuint64 -> IO GLboolean)
-  ->         GLuint64 -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn121
-  :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
-  ->         GLushort -> GLushort -> GLushort -> GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn107
-  :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-  ->         GLushort -> GLushort -> GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn477
-  :: FunPtr (GLushort -> IO ())
-  ->         GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn854
-  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-  ->         GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn859
-  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
-  ->         GLvdpauSurfaceNV -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn860
-  :: FunPtr (GLvdpauSurfaceNV -> IO ())
-  ->         GLvdpauSurfaceNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn856
-  :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
-  ->         GLvdpauSurfaceNV -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn11
-  :: FunPtr (IO ())
-  ->         IO ()
-
-foreign import CALLCONV "dynamic" dyn340
-  :: FunPtr (IO GLenum)
-  ->         IO GLenum
-
-foreign import CALLCONV "dynamic" dyn199
-  :: FunPtr (IO GLhandleARB)
-  ->         IO GLhandleARB
-
-foreign import CALLCONV "dynamic" dyn347
-  :: FunPtr (IO GLint)
-  ->         IO GLint
-
-foreign import CALLCONV "dynamic" dyn198
-  :: FunPtr (IO GLuint)
-  ->         IO GLuint
-
-foreign import CALLCONV "dynamic" dyn267
-  :: FunPtr (Ptr GLboolean -> IO ())
-  ->         Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn38
-  :: FunPtr (Ptr GLbyte -> IO ())
-  ->         Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn457
-  :: FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
-  ->         Ptr GLchar -> IO GLVULKANPROCNV
-
-foreign import CALLCONV "dynamic" dyn396
-  :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
-  ->         Ptr GLchar -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn40
-  :: FunPtr (Ptr GLdouble -> IO ())
-  ->         Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn698
-  :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
-  ->         Ptr GLdouble -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn554
-  :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ())
-  ->         Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn555
-  :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ())
-  ->         Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn110
-  :: FunPtr (Ptr GLfixed -> IO ())
-  ->         Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn701
-  :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ())
-  ->         Ptr GLfixed -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn692
-  :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield)
-  ->         Ptr GLfixed -> Ptr GLint -> IO GLbitfield
-
-foreign import CALLCONV "dynamic" dyn42
-  :: FunPtr (Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn100
-  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn114
-  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn750
-  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn752
-  :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn102
-  :: FunPtr (Ptr GLhalfNV -> IO ())
-  ->         Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn339
-  :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn44
-  :: FunPtr (Ptr GLint -> IO ())
-  ->         Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn635
-  :: FunPtr (Ptr GLint -> IO GLint)
-  ->         Ptr GLint -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn699
-  :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
-  ->         Ptr GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn46
-  :: FunPtr (Ptr GLshort -> IO ())
-  ->         Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn700
-  :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
-  ->         Ptr GLshort -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn104
-  :: FunPtr (Ptr GLubyte -> IO ())
-  ->         Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn119
-  :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn273
-  :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-  ->         Ptr GLuint -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn106
-  :: FunPtr (Ptr GLuint -> IO ())
-  ->         Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn281
-  :: FunPtr (Ptr GLuint -> IO GLint)
-  ->         Ptr GLuint -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn719
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn709
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn711
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn715
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn713
-  :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn240
-  :: FunPtr (Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-  ->         Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn108
-  :: FunPtr (Ptr GLushort -> IO ())
-  ->         Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn858
-  :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
-  ->         Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV
-
-foreign import CALLCONV "dynamic" dyn619
-  :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
-  ->         Ptr a -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn383
-  :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn204
-  :: FunPtr (Ptr a -> Ptr b -> GLbitfield -> IO GLsync)
-  ->         Ptr a -> Ptr b -> GLbitfield -> IO GLsync
-
-foreign import CALLCONV "dynamic" dyn855
+foreign import CALLCONV "dynamic" dyn390
+  :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn501
+  :: FunPtr (GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+  ->         GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn389
+  :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn72
+  :: FunPtr (GLbitfield -> IO ())
+  ->         GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn126
+  :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+  ->         GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn194
+  :: FunPtr (GLboolean -> IO ())
+  ->         GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn111
+  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn37
+  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn749
+  :: FunPtr (GLbyte -> GLbyte -> IO ())
+  ->         GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn475
+  :: FunPtr (GLbyte -> IO ())
+  ->         GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn220
+  :: FunPtr (GLclampd -> GLclampd -> IO ())
+  ->         GLclampd -> GLclampd -> IO ()
+
+foreign import CALLCONV "dynamic" dyn723
+  :: FunPtr (GLclampf -> GLboolean -> IO ())
+  ->         GLclampf -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn227
+  :: FunPtr (GLclampf -> GLclampf -> IO ())
+  ->         GLclampf -> GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn83
+  :: FunPtr (GLclampf -> IO ())
+  ->         GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn722
+  :: FunPtr (GLclampx -> GLboolean -> IO ())
+  ->         GLclampx -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn303
+  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn112
+  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn39
+  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn221
+  :: FunPtr (GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn81
+  :: FunPtr (GLdouble -> IO ())
+  ->         GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn281
+  :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
+  ->         GLenum -> GLbitfield -> IO GLsync
+
+foreign import CALLCONV "dynamic" dyn461
+  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn345
+  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn574
+  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn569
+  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn563
+  :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn556
+  :: FunPtr (GLenum -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn10
+  :: FunPtr (GLenum -> GLclampf -> IO ())
+  ->         GLenum -> GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn533
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn537
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn539
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn213
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn513
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn510
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn564
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn558
+  :: FunPtr (GLenum -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn263
+  :: FunPtr (GLenum -> GLeglImageOES -> IO ())
+  ->         GLenum -> GLeglImageOES -> IO ()
+
+foreign import CALLCONV "dynamic" dyn541
+  :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn756
+  :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn581
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn138
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn137
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn54
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn326
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn327
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn73
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn579
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn580
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn356
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn355
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn209
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn467
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ()
+
+foreign import CALLCONV "dynamic" dyn459
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn295
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn297
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn296
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn294
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn290
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn307
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn741
+  :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn32
+  :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint)
+  ->         GLenum -> GLenum -> GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn363
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn328
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn329
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn367
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn325
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn413
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ()
+
+foreign import CALLCONV "dynamic" dyn165
+  :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+  ->         GLenum -> GLenum -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn164
+  :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn364
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn172
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn173
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn142
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn143
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn144
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn365
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn366
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn176
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn175
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn587
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn147
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn174
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn586
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn146
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn585
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn145
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn582
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn583
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn584
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn170
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn169
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn740
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn63
+  :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn633
+  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn331
+  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn167
+  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn74
+  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn134
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn354
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn163
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn729
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ()
+
+foreign import CALLCONV "dynamic" dyn774
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn705
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn462
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn463
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn464
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn210
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn655
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn211
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn298
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn300
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn302
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn299
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn301
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn293
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn748
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn212
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn343
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn30
+  :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn52
+  :: FunPtr (GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn516
+  :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
+  ->         GLenum -> GLenum -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn29
+  :: FunPtr (GLenum -> GLenum -> IO GLuint)
+  ->         GLenum -> GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn324
+  :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn362
+  :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn166
+  :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn135
+  :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn136
+  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn414
+  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn322
+  :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn423
+  :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn323
+  :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn552
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn551
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn550
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn549
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn246
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn577
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn573
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn515
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn512
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn568
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn1
+  :: FunPtr (GLenum -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn538
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn540
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn214
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn514
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn511
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn565
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn0
+  :: FunPtr (GLenum -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn575
+  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn570
+  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn566
+  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn559
+  :: FunPtr (GLenum -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn468
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn419
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn179
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn180
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn148
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn149
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn762
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn150
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn765
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn14
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn578
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn422
+  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ())
+  ->         GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn420
+  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn421
+  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn75
+  :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLfloat -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn183
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn777
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn182
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn766
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn277
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn153
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn181
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn270
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn776
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn152
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn571
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn775
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn151
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn757
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn758
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn761
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn269
+  :: FunPtr (GLenum -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn236
+  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn235
+  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn233
+  :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn460
+  :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn629
+  :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
+  ->         GLenum -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn694
+  :: FunPtr (GLenum -> GLint -> GLuint -> Ptr GLint -> IO GLint)
+  ->         GLenum -> GLint -> GLuint -> Ptr GLint -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn56
+  :: FunPtr (GLenum -> GLint -> IO ())
+  ->         GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn285
+  :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+  ->         GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn617
+  :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn400
+  :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
+  ->         GLenum -> GLint -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn76
+  :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn77
+  :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ())
+  ->         GLenum -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn78
+  :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn332
+  :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn484
+  :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
+  ->         GLenum -> GLintptr -> GLbitfield -> IO GLsync
+
+foreign import CALLCONV "dynamic" dyn517
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+  ->         GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn62
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
+  ->         GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn65
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ())
+  ->         GLenum -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn283
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn67
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+  ->         GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn68
+  :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
+  ->         GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn576
+  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn572
+  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn567
+  :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn561
+  :: FunPtr (GLenum -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn479
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn771
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn759
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn773
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn763
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn772
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn768
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn770
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn706
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn769
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn767
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn245
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn250
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn249
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn248
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn247
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn391
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn244
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn168
+  :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn133
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn707
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn760
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn764
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn485
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn243
+  :: FunPtr (GLenum -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn203
+  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
+  ->         GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn708
+  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> GLsizei -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn489
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn230
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn229
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn924
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn200
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn465
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn47
+  :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn66
+  :: FunPtr (GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> IO ())
+  ->         GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn64
+  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+  ->         GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn60
+  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+  ->         GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn61
+  :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ())
+  ->         GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn647
+  :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn811
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn361
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn518
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn693
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn620
+  :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
+  ->         GLenum -> GLuint -> GLenum -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn405
+  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn359
+  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn360
+  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn648
+  :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn649
+  :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn261
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn502
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn653
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn291
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn650
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn381
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn506
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn23
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn24
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn252
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn22
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn21
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn255
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn254
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn253
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn646
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn644
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn645
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn125
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn9
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn124
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn8
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn123
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn7
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn732
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn731
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn18
+  :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn292
+  :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn553
+  :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn59
+  :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn17
+  :: FunPtr (GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn417
+  :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
+  ->         GLenum -> GLuint -> IO (Ptr GLubyte)
+
+foreign import CALLCONV "dynamic" dyn493
+  :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+  ->         GLenum -> GLuint -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn330
+  :: FunPtr (GLenum -> GLuint -> IO GLuint)
+  ->         GLenum -> GLuint -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn401
+  :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> GLuint -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn320
+  :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn338
+  :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn272
+  :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn351
+  :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn349
+  :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn240
+  :: FunPtr (GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn450
+  :: FunPtr (GLenum -> GLuint -> Ptr GLubyte -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn217
+  :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn352
+  :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn5
+  :: FunPtr (GLenum -> IO ())
+  ->         GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn416
+  :: FunPtr (GLenum -> IO (Ptr GLubyte))
+  ->         GLenum -> IO (Ptr GLubyte)
+
+foreign import CALLCONV "dynamic" dyn492
+  :: FunPtr (GLenum -> IO GLboolean)
+  ->         GLenum -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn70
+  :: FunPtr (GLenum -> IO GLenum)
+  ->         GLenum -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn201
+  :: FunPtr (GLenum -> IO GLhandleARB)
+  ->         GLenum -> IO GLhandleARB
+
+foreign import CALLCONV "dynamic" dyn704
+  :: FunPtr (GLenum -> IO GLint)
+  ->         GLenum -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn31
+  :: FunPtr (GLenum -> IO GLuint)
+  ->         GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn415
+  :: FunPtr (GLenum -> IO GLushort)
+  ->         GLenum -> IO GLushort
+
+foreign import CALLCONV "dynamic" dyn273
+  :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn321
+  :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
+  ->         GLenum -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn557
+  :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
+  ->         GLenum -> Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn202
+  :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint)
+  ->         GLenum -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn96
+  :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn98
+  :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+  ->         GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn97
+  :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn560
+  :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
+  ->         GLenum -> Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn139
+  :: FunPtr (GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn542
+  :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn350
+  :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
+  ->         GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn562
+  :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+  ->         GLenum -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn547
+  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
+  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn548
+  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn451
+  :: FunPtr (GLenum -> Ptr GLubyte -> IO ())
+  ->         GLenum -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn128
+  :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+  ->         GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn239
+  :: FunPtr (GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ())
+  ->         GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn353
+  :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
+  ->         GLenum -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn399
+  :: FunPtr (GLenum -> Ptr GLushort -> IO ())
+  ->         GLenum -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn625
+  :: FunPtr (GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum)
+  ->         GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn546
+  :: FunPtr (GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn545
+  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn544
+  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn543
+  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn234
+  :: FunPtr (GLenum -> Ptr a -> IO ())
+  ->         GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn304
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn260
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn51
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn109
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn228
+  :: FunPtr (GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn84
+  :: FunPtr (GLfixed -> IO ())
+  ->         GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn721
+  :: FunPtr (GLfloat -> GLboolean -> IO ())
+  ->         GLfloat -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn755
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn750
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn113
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn638
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn99
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn256
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn50
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn41
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn752
+  :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn226
+  :: FunPtr (GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn82
+  :: FunPtr (GLfloat -> IO ())
+  ->         GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn115
+  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn101
+  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn754
+  :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn286
+  :: FunPtr (GLhalfNV -> IO ())
+  ->         GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn382
+  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn383
+  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
+  ->         GLhandleARB -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn15
+  :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
+  ->         GLhandleARB -> GLhandleARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn442
+  :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLhandleARB -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn446
+  :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
+  ->         GLhandleARB -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn733
+  :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
+  ->         GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn347
+  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
+  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn316
+  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
+  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn310
+  :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
+  ->         GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn20
+  :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ())
+  ->         GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn140
+  :: FunPtr (GLhandleARB -> IO ())
+  ->         GLhandleARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn319
+  :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
+  ->         GLhandleARB -> Ptr GLcharARB -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn844
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn837
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn522
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn519
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn817
+  :: FunPtr (GLint -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn131
+  :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+  ->         GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn130
+  :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+  ->         GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn122
+  :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
+  ->         GLint -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn129
+  :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn132
+  :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLint -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn524
+  :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn521
+  :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ())
+  ->         GLint -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn845
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn838
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn523
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn520
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn819
+  :: FunPtr (GLint -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn57
+  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+  ->         GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn257
+  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn79
+  :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn43
+  :: FunPtr (GLint -> GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn698
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn697
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn178
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn724
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn271
+  :: FunPtr (GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn846
+  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn839
+  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn832
+  :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn821
+  :: FunPtr (GLint -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn847
+  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn840
+  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn833
+  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn822
+  :: FunPtr (GLint -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn851
+  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+  ->         GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn852
+  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+  ->         GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn507
+  :: FunPtr (GLint -> GLsizei -> IO ())
+  ->         GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn818
+  :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn820
+  :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn825
+  :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn823
+  :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn824
+  :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn831
+  :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn829
+  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn830
+  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn848
+  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn841
+  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn834
+  :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn826
+  :: FunPtr (GLint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn849
+  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn842
+  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn835
+  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn827
+  :: FunPtr (GLint -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn850
+  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn843
+  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn836
+  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn828
+  :: FunPtr (GLint -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn503
+  :: FunPtr (GLint -> GLushort -> IO ())
+  ->         GLint -> GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn13
+  :: FunPtr (GLint -> IO ())
+  ->         GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn267
+  :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ())
+  ->         GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn919
+  :: FunPtr (GLint -> Ptr GLbyte -> IO ())
+  ->         GLint -> Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn380
+  :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
+  ->         GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn379
+  :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
+  ->         GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn216
+  :: FunPtr (GLint -> Ptr GLchar -> IO ())
+  ->         GLint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn495
+  :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean)
+  ->         GLint -> Ptr GLchar -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn920
+  :: FunPtr (GLint -> Ptr GLdouble -> IO ())
+  ->         GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn238
+  :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ())
+  ->         GLint -> Ptr GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn921
+  :: FunPtr (GLint -> Ptr GLfloat -> IO ())
+  ->         GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn922
+  :: FunPtr (GLint -> Ptr GLint -> IO ())
+  ->         GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn923
+  :: FunPtr (GLint -> Ptr GLshort -> IO ())
+  ->         GLint -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn534
+  :: FunPtr (GLint -> Ptr GLubyte -> IO ())
+  ->         GLint -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn535
+  :: FunPtr (GLint -> Ptr GLuint -> IO ())
+  ->         GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn536
+  :: FunPtr (GLint -> Ptr GLushort -> IO ())
+  ->         GLint -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn232
+  :: FunPtr (GLintptr -> IO ())
+  ->         GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn258
+  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn116
+  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn45
+  :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn695
+  :: FunPtr (GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn476
+  :: FunPtr (GLshort -> IO ())
+  ->         GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn280
+  :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
+  ->         GLsizei -> GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn279
+  :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn193
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn743
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn738
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn745
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn742
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn69
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn251
+  :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn49
+  :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ())
+  ->         GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn48
+  :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
+  ->         GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn266
+  :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
+  ->         GLsizei -> GLsizei -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn92
+  :: FunPtr (GLsizei -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLsizei -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn737
+  :: FunPtr (GLsizei -> GLuint -> IO ())
+  ->         GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn264
+  :: FunPtr (GLsizei -> IO ())
+  ->         GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn305
+  :: FunPtr (GLsizei -> IO GLuint)
+  ->         GLsizei -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn486
+  :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
+  ->         GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn237
+  :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
+  ->         GLsizei -> Ptr GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn195
+  :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn812
+  :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
+  ->         GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn814
+  :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
+  ->         GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn218
+  :: FunPtr (GLsizei -> Ptr GLint -> IO ())
+  ->         GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn466
+  :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
+  ->         GLsizei -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn730
+  :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+  ->         GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn196
+  :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+  ->         GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn12
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
+  ->         GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn640
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
+  ->         GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn641
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ())
+  ->         GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn639
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn858
+  :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
+  ->         GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn618
+  :: FunPtr (GLsizei -> Ptr a -> GLenum -> IO GLuint)
+  ->         GLsizei -> Ptr a -> GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn265
+  :: FunPtr (GLsizei -> Ptr a -> IO ())
+  ->         GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn917
+  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
+  ->         GLsync -> GLbitfield -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn95
+  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
+  ->         GLsync -> GLbitfield -> GLuint64 -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn418
+  :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+  ->         GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn219
+  :: FunPtr (GLsync -> IO ())
+  ->         GLsync -> IO ()
+
+foreign import CALLCONV "dynamic" dyn498
+  :: FunPtr (GLsync -> IO GLboolean)
+  ->         GLsync -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn120
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn118
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn117
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn103
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn477
+  :: FunPtr (GLubyte -> IO ())
+  ->         GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn500
+  :: FunPtr (GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn588
+  :: FunPtr (GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn854
+  :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
+  ->         GLuint -> GLbitfield -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn592
+  :: FunPtr (GLuint -> GLbitfield -> IO ())
+  ->         GLuint -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn127
+  :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+  ->         GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn728
+  :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn696
+  :: FunPtr (GLuint -> GLboolean -> IO ())
+  ->         GLuint -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn889
+  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn885
+  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn224
+  :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn878
+  :: FunPtr (GLuint -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn910
+  :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn911
+  :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn55
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn85
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn788
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn789
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn804
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn613
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn603
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn602
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn779
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn598
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn53
+  :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn431
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn372
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn430
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn378
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn505
+  :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn426
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn184
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn185
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn154
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn155
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn156
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn428
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn276
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn88
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn192
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn190
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn809
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn162
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn188
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn171
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn808
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn160
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn806
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn158
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn780
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn781
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn784
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn482
+  :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn89
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn90
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn91
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn334
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn86
+  :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn794
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn798
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn796
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn792
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn791
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn783
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn786
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn782
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn785
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn614
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn862
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn393
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn630
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn87
+  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn628
+  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
+  ->         GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn606
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn810
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn744
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn312
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn607
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn604
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn608
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn605
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn601
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn778
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn408
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn409
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn610
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn611
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn311
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn612
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn373
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn609
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn739
+  :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn376
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn377
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn374
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn435
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn375
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn863
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn16
+  :: FunPtr (GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn525
+  :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
+  ->         GLuint -> GLenum -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn499
+  :: FunPtr (GLuint -> GLenum -> IO GLboolean)
+  ->         GLuint -> GLenum -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn71
+  :: FunPtr (GLuint -> GLenum -> IO GLenum)
+  ->         GLuint -> GLenum -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn370
+  :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn357
+  :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn407
+  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn406
+  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn275
+  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn454
+  :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn358
+  :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn342
+  :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn368
+  :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn455
+  :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn410
+  :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn385
+  :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn412
+  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn369
+  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn627
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn626
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn624
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
+  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn643
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLint -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn642
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn483
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn715
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn711
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn717
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn709
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn718
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn890
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn719
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn225
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn497
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+  ->         GLuint -> GLfloat -> GLfloat -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn879
+  :: FunPtr (GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn891
+  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn886
+  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn883
+  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn880
+  :: FunPtr (GLuint -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn528
+  :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
+  ->         GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn346
+  :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
+  ->         GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
+
+foreign import CALLCONV "dynamic" dyn682
+  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn674
+  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn666
+  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn656
+  :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn893
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn895
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn912
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn894
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn425
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn93
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn654
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn898
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn899
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn897
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn427
+  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn429
+  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn683
+  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn675
+  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn667
+  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn657
+  :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn191
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn189
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn684
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn787
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn433
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn94
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn161
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn335
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn491
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn187
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn676
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn807
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn159
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn668
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn805
+  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn157
+  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn726
+  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn658
+  :: FunPtr (GLuint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn685
+  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn677
+  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn669
+  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn659
+  :: FunPtr (GLuint -> GLint -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn686
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn678
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn670
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn660
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn690
+  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn691
+  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn469
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn470
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn472
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn471
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn661
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn474
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn473
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn665
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn333
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn746
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn687
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn679
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn671
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn662
+  :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn688
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn680
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn672
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn663
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn689
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn681
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn673
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn664
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn490
+  :: FunPtr (GLuint -> GLint -> IO ())
+  ->         GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn437
+  :: FunPtr (GLuint -> GLint -> IO GLint)
+  ->         GLuint -> GLint -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn439
+  :: FunPtr (GLuint -> GLint -> IO GLintptr)
+  ->         GLuint -> GLint -> IO GLintptr
+
+foreign import CALLCONV "dynamic" dyn440
+  :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn441
+  :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn445
+  :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn443
+  :: FunPtr (GLuint -> GLint -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLint -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn444
+  :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn449
+  :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn447
+  :: FunPtr (GLuint -> GLint -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLint -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn448
+  :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn908
+  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn906
+  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn904
+  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn900
+  :: FunPtr (GLuint -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn526
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+  ->         GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn594
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
+  ->         GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn596
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ())
+  ->         GLuint -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn284
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn371
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+  ->         GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn892
+  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn887
+  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn884
+  :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn882
+  :: FunPtr (GLuint -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn801
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn793
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn803
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn797
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn802
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn795
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn800
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn615
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn799
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn790
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn623
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn616
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn632
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn634
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
+  ->         GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn631
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn388
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat)
+  ->         GLuint -> GLsizei -> GLsizei -> IO GLfloat
+
+foreign import CALLCONV "dynamic" dyn215
+  :: FunPtr (GLuint -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn815
+  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
+  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn141
+  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn438
+  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn223
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn488
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn287
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn336
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn337
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn222
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn913
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn816
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn725
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn914
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn339
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn402
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn317
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn651
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn652
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn622
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn915
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn403
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn404
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn314
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn28
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn918
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn34
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn597
+  :: FunPtr (GLuint -> GLsizeiptr -> GLuint -> GLuint64 -> IO ())
+  ->         GLuint -> GLsizeiptr -> GLuint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn595
+  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+  ->         GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn593
+  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+  ->         GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn713
+  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn888
+  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn531
+  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn529
+  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn747
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn36
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn874
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn411
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn35
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn873
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn621
+  :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn453
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn456
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn457
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn308
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn452
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn591
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn590
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn394
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn259
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn532
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn530
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn496
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn26
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn27
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn868
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn871
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn869
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn58
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn186
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn177
+  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn33
+  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn872
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn599
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn313
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn309
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn315
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn877
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn853
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn396
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn289
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn487
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn876
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn875
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn870
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn813
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn589
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn736
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn231
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn896
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn80
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn288
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn105
+  :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn392
+  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn25
+  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn600
+  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn4
+  :: FunPtr (GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn432
+  :: FunPtr (GLuint -> GLuint -> IO GLuint64)
+  ->         GLuint -> GLuint -> IO GLuint64
+
+foreign import CALLCONV "dynamic" dyn504
+  :: FunPtr (GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn19
+  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn398
+  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn434
+  :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn734
+  :: FunPtr (GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> IO ())
+  ->         GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn480
+  :: FunPtr (GLuint -> GLuint64 -> GLenum -> GLint -> IO ())
+  ->         GLuint -> GLuint64 -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn481
+  :: FunPtr (GLuint -> GLuint64 -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLuint64 -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn2
+  :: FunPtr (GLuint -> GLuint64 -> GLuint -> IO GLboolean)
+  ->         GLuint -> GLuint64 -> GLuint -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn703
+  :: FunPtr (GLuint -> GLuint64 -> IO GLboolean)
+  ->         GLuint -> GLuint64 -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn636
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn637
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn909
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn907
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn905
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn902
+  :: FunPtr (GLuint -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn3
+  :: FunPtr (GLuint -> IO ())
+  ->         GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn527
+  :: FunPtr (GLuint -> IO (Ptr a))
+  ->         GLuint -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn278
+  :: FunPtr (GLuint -> IO GLboolean)
+  ->         GLuint -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn344
+  :: FunPtr (GLuint -> IO GLsizei)
+  ->         GLuint -> IO GLsizei
+
+foreign import CALLCONV "dynamic" dyn306
+  :: FunPtr (GLuint -> IO GLuint)
+  ->         GLuint -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn424
+  :: FunPtr (GLuint -> IO GLuint64)
+  ->         GLuint -> IO GLuint64
+
+foreign import CALLCONV "dynamic" dyn864
+  :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+  ->         GLuint -> Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn735
+  :: FunPtr (GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn6
+  :: FunPtr (GLuint -> Ptr GLchar -> IO ())
+  ->         GLuint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn318
+  :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+  ->         GLuint -> Ptr GLchar -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn436
+  :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn865
+  :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn387
+  :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn881
+  :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
+  ->         GLuint -> Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn727
+  :: FunPtr (GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn395
+  :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn901
+  :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn242
+  :: FunPtr (GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+  ->         GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn866
+  :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+  ->         GLuint -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn386
+  :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+  ->         GLuint -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn197
+  :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn916
+  :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
+  ->         GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn903
+  :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn867
+  :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+  ->         GLuint -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn509
+  :: FunPtr (GLuint64 -> GLenum -> IO ())
+  ->         GLuint64 -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn262
+  :: FunPtr (GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn508
+  :: FunPtr (GLuint64 -> IO ())
+  ->         GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn494
+  :: FunPtr (GLuint64 -> IO GLboolean)
+  ->         GLuint64 -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn121
+  :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
+  ->         GLushort -> GLushort -> GLushort -> GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn107
+  :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
+  ->         GLushort -> GLushort -> GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn478
+  :: FunPtr (GLushort -> IO ())
+  ->         GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn855
+  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+  ->         GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn860
+  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
+  ->         GLvdpauSurfaceNV -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn861
+  :: FunPtr (GLvdpauSurfaceNV -> IO ())
+  ->         GLvdpauSurfaceNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn857
+  :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
+  ->         GLvdpauSurfaceNV -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn11
+  :: FunPtr (IO ())
+  ->         IO ()
+
+foreign import CALLCONV "dynamic" dyn341
+  :: FunPtr (IO GLenum)
+  ->         IO GLenum
+
+foreign import CALLCONV "dynamic" dyn199
+  :: FunPtr (IO GLhandleARB)
+  ->         IO GLhandleARB
+
+foreign import CALLCONV "dynamic" dyn348
+  :: FunPtr (IO GLint)
+  ->         IO GLint
+
+foreign import CALLCONV "dynamic" dyn198
+  :: FunPtr (IO GLuint)
+  ->         IO GLuint
+
+foreign import CALLCONV "dynamic" dyn268
+  :: FunPtr (Ptr GLboolean -> IO ())
+  ->         Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn38
+  :: FunPtr (Ptr GLbyte -> IO ())
+  ->         Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn458
+  :: FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
+  ->         Ptr GLchar -> IO GLVULKANPROCNV
+
+foreign import CALLCONV "dynamic" dyn397
+  :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
+  ->         Ptr GLchar -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn40
+  :: FunPtr (Ptr GLdouble -> IO ())
+  ->         Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn699
+  :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
+  ->         Ptr GLdouble -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn554
+  :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ())
+  ->         Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn555
+  :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ())
+  ->         Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn110
+  :: FunPtr (Ptr GLfixed -> IO ())
+  ->         Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn702
+  :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ())
+  ->         Ptr GLfixed -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn692
+  :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield)
+  ->         Ptr GLfixed -> Ptr GLint -> IO GLbitfield
+
+foreign import CALLCONV "dynamic" dyn42
+  :: FunPtr (Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn100
+  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn114
+  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn751
+  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn753
+  :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn102
+  :: FunPtr (Ptr GLhalfNV -> IO ())
+  ->         Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn340
+  :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn44
+  :: FunPtr (Ptr GLint -> IO ())
+  ->         Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn635
+  :: FunPtr (Ptr GLint -> IO GLint)
+  ->         Ptr GLint -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn700
+  :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
+  ->         Ptr GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn46
+  :: FunPtr (Ptr GLshort -> IO ())
+  ->         Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn701
+  :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
+  ->         Ptr GLshort -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn104
+  :: FunPtr (Ptr GLubyte -> IO ())
+  ->         Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn119
+  :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn274
+  :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+  ->         Ptr GLuint -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn106
+  :: FunPtr (Ptr GLuint -> IO ())
+  ->         Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn282
+  :: FunPtr (Ptr GLuint -> IO GLint)
+  ->         Ptr GLuint -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn720
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn710
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn712
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn716
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn714
+  :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn241
+  :: FunPtr (Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+  ->         Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn108
+  :: FunPtr (Ptr GLushort -> IO ())
+  ->         Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn859
+  :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
+  ->         Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV
+
+foreign import CALLCONV "dynamic" dyn619
+  :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
+  ->         Ptr a -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn384
+  :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn204
+  :: FunPtr (Ptr a -> Ptr b -> GLbitfield -> IO GLsync)
+  ->         Ptr a -> Ptr b -> GLbitfield -> IO GLsync
+
+foreign import CALLCONV "dynamic" dyn856
   :: FunPtr (Ptr a -> Ptr b -> IO ())
   ->         Ptr a -> Ptr b -> IO ()
 
diff --git a/src/Graphics/GL/Functions/F01.hs b/src/Graphics/GL/Functions/F01.hs
--- a/src/Graphics/GL/Functions/F01.hs
+++ b/src/Graphics/GL/Functions/F01.hs
@@ -220,7 +220,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glActiveTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glActiveTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glActiveTexture.xhtml OpenGL 4.x>.
 glActiveTexture
   :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> m ()
 glActiveTexture v1 = liftIO $ dyn5 ptr_glActiveTexture v1
 
@@ -233,7 +233,7 @@
 -- | This command is an alias for 'glActiveTexture'.
 glActiveTextureARB
   :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> m ()
 glActiveTextureARB v1 = liftIO $ dyn5 ptr_glActiveTextureARB v1
 
@@ -258,7 +258,7 @@
 
 glAlphaFragmentOp1ATI
   :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
   -> GLuint -- ^ @dst@.
   -> GLuint -- ^ @dstMod@.
   -> GLuint -- ^ @arg1@.
@@ -275,7 +275,7 @@
 
 glAlphaFragmentOp2ATI
   :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
   -> GLuint -- ^ @dst@.
   -> GLuint -- ^ @dstMod@.
   -> GLuint -- ^ @arg1@.
@@ -295,7 +295,7 @@
 
 glAlphaFragmentOp3ATI
   :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
   -> GLuint -- ^ @dst@.
   -> GLuint -- ^ @dstMod@.
   -> GLuint -- ^ @arg1@.
@@ -345,7 +345,7 @@
 
 glAlphaFuncx
   :: MonadIO m
-  => GLenum -- ^ @func@.
+  => GLenum -- ^ @func@ of type [AlphaFunction](Graphics-GL-Groups.html#AlphaFunction).
   -> GLfixed -- ^ @ref@.
   -> m ()
 glAlphaFuncx v1 v2 = liftIO $ dyn1 ptr_glAlphaFuncx v1 v2
@@ -358,7 +358,7 @@
 
 glAlphaFuncxOES
   :: MonadIO m
-  => GLenum -- ^ @func@.
+  => GLenum -- ^ @func@ of type [AlphaFunction](Graphics-GL-Groups.html#AlphaFunction).
   -> GLfixed -- ^ @ref@ of type @ClampedFixed@.
   -> m ()
 glAlphaFuncxOES v1 v2 = liftIO $ dyn1 ptr_glAlphaFuncxOES v1 v2
@@ -547,7 +547,7 @@
 glBeginConditionalRender
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @mode@ of type @TypeEnum@.
+  -> GLenum -- ^ @mode@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> m ()
 glBeginConditionalRender v1 v2 = liftIO $ dyn16 ptr_glBeginConditionalRender v1 v2
 
@@ -561,7 +561,7 @@
 glBeginConditionalRenderNV
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @mode@ of type @TypeEnum@.
+  -> GLenum -- ^ @mode@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> m ()
 glBeginConditionalRenderNV v1 v2 = liftIO $ dyn16 ptr_glBeginConditionalRenderNV v1 v2
 
@@ -633,7 +633,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBeginQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml OpenGL 4.x>.
 glBeginQuery
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> GLuint -- ^ @id@.
   -> m ()
 glBeginQuery v1 v2 = liftIO $ dyn17 ptr_glBeginQuery v1 v2
@@ -660,7 +660,7 @@
 
 glBeginQueryEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> GLuint -- ^ @id@.
   -> m ()
 glBeginQueryEXT v1 v2 = liftIO $ dyn17 ptr_glBeginQueryEXT v1 v2
@@ -674,7 +674,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
 glBeginQueryIndexed
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @id@.
   -> m ()
@@ -689,7 +689,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml OpenGL 4.x>.
 glBeginTransformFeedback
   :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
+  => GLenum -- ^ @primitiveMode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> m ()
 glBeginTransformFeedback v1 = liftIO $ dyn5 ptr_glBeginTransformFeedback v1
 
@@ -702,7 +702,7 @@
 -- | This command is an alias for 'glBeginTransformFeedback'.
 glBeginTransformFeedbackEXT
   :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
+  => GLenum -- ^ @primitiveMode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> m ()
 glBeginTransformFeedbackEXT v1 = liftIO $ dyn5 ptr_glBeginTransformFeedbackEXT v1
 
@@ -715,7 +715,7 @@
 -- | This command is an alias for 'glBeginTransformFeedback'.
 glBeginTransformFeedbackNV
   :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
+  => GLenum -- ^ @primitiveMode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> m ()
 glBeginTransformFeedbackNV v1 = liftIO $ dyn5 ptr_glBeginTransformFeedbackNV v1
 
@@ -809,7 +809,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferBase.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferBase.xhtml OpenGL 4.x>.
 glBindBufferBase
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> m ()
@@ -824,7 +824,7 @@
 -- | This command is an alias for 'glBindBufferBase'.
 glBindBufferBaseEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> m ()
@@ -839,7 +839,7 @@
 -- | This command is an alias for 'glBindBufferBase'.
 glBindBufferBaseNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> m ()
@@ -853,7 +853,7 @@
 
 glBindBufferOffsetEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
@@ -869,7 +869,7 @@
 -- | This command is an alias for 'glBindBufferOffsetEXT'.
 glBindBufferOffsetNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
@@ -885,7 +885,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferRange.xhtml OpenGL 4.x>.
 glBindBufferRange
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
@@ -902,7 +902,7 @@
 -- | This command is an alias for 'glBindBufferRange'.
 glBindBufferRangeEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
@@ -919,7 +919,7 @@
 -- | This command is an alias for 'glBindBufferRange'.
 glBindBufferRangeNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
@@ -936,7 +936,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersBase.xhtml OpenGL 4.x>.
 glBindBuffersBase
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @first@.
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
@@ -952,7 +952,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersRange.xhtml OpenGL 4.x>.
 glBindBuffersRange
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @first@.
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
@@ -1044,7 +1044,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFramebuffer.xhtml OpenGL 4.x>.
 glBindFramebuffer
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> GLuint -- ^ @framebuffer@.
   -> m ()
 glBindFramebuffer v1 v2 = liftIO $ dyn17 ptr_glBindFramebuffer v1 v2
@@ -1057,7 +1057,7 @@
 
 glBindFramebufferEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> GLuint -- ^ @framebuffer@.
   -> m ()
 glBindFramebufferEXT v1 v2 = liftIO $ dyn17 ptr_glBindFramebufferEXT v1 v2
@@ -1070,7 +1070,7 @@
 
 glBindFramebufferOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> GLuint -- ^ @framebuffer@.
   -> m ()
 glBindFramebufferOES v1 v2 = liftIO $ dyn17 ptr_glBindFramebufferOES v1 v2
@@ -1089,8 +1089,8 @@
   -> GLint -- ^ @level@.
   -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @access@.
-  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
+  -> GLenum -- ^ @format@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> m ()
 glBindImageTexture v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn26 ptr_glBindImageTexture v1 v2 v3 v4 v5 v6 v7
 
@@ -1107,7 +1107,7 @@
   -> GLint -- ^ @level@.
   -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @access@.
+  -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
   -> GLint -- ^ @format@.
   -> m ()
 glBindImageTextureEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn27 ptr_glBindImageTextureEXT v1 v2 v3 v4 v5 v6 v7
@@ -1161,7 +1161,7 @@
 
 glBindMultiTextureEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> m ()
@@ -1240,7 +1240,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindRenderbuffer.xhtml OpenGL 4.x>.
 glBindRenderbuffer
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
 glBindRenderbuffer v1 v2 = liftIO $ dyn17 ptr_glBindRenderbuffer v1 v2
@@ -1253,7 +1253,7 @@
 
 glBindRenderbufferEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
 glBindRenderbufferEXT v1 v2 = liftIO $ dyn17 ptr_glBindRenderbufferEXT v1 v2
@@ -1266,7 +1266,7 @@
 
 glBindRenderbufferOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
 glBindRenderbufferOES v1 v2 = liftIO $ dyn17 ptr_glBindRenderbufferOES v1 v2
@@ -1308,7 +1308,7 @@
 
 glBindTexGenParameterEXT
   :: MonadIO m
-  => GLenum -- ^ @unit@ of type @TextureUnit@.
+  => GLenum -- ^ @unit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @value@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> m GLuint
@@ -1364,7 +1364,7 @@
 
 glBindTextureUnitParameterEXT
   :: MonadIO m
-  => GLenum -- ^ @unit@ of type @TextureUnit@.
+  => GLenum -- ^ @unit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @value@ of type @VertexShaderTextureUnitParameter@.
   -> m GLuint
 glBindTextureUnitParameterEXT v1 v2 = liftIO $ dyn29 ptr_glBindTextureUnitParameterEXT v1 v2
@@ -1393,7 +1393,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTransformFeedback.xhtml OpenGL 4.x>.
 glBindTransformFeedback
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BindTransformFeedbackTarget](Graphics-GL-Groups.html#BindTransformFeedbackTarget).
   -> GLuint -- ^ @id@.
   -> m ()
 glBindTransformFeedback v1 v2 = liftIO $ dyn17 ptr_glBindTransformFeedback v1 v2
diff --git a/src/Graphics/GL/Functions/F02.hs b/src/Graphics/GL/Functions/F02.hs
--- a/src/Graphics/GL/Functions/F02.hs
+++ b/src/Graphics/GL/Functions/F02.hs
@@ -396,7 +396,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendEquation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml OpenGL 4.x>.
 glBlendEquation
   :: MonadIO m
-  => GLenum -- ^ @mode@ of type @BlendEquationMode@.
+  => GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquation v1 = liftIO $ dyn5 ptr_glBlendEquation v1
 
@@ -423,7 +423,7 @@
 glBlendEquationIndexedAMD
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
+  -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationIndexedAMD v1 v2 = liftIO $ dyn16 ptr_glBlendEquationIndexedAMD v1 v2
 
@@ -435,7 +435,7 @@
 
 glBlendEquationOES
   :: MonadIO m
-  => GLenum -- ^ @mode@.
+  => GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationOES v1 = liftIO $ dyn5 ptr_glBlendEquationOES v1
 
@@ -477,8 +477,8 @@
 glBlendEquationSeparateIndexedAMD
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
+  -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationSeparateIndexedAMD v1 v2 v3 = liftIO $ dyn53 ptr_glBlendEquationSeparateIndexedAMD v1 v2 v3
 
@@ -490,8 +490,8 @@
 
 glBlendEquationSeparateOES
   :: MonadIO m
-  => GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
+  => GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationSeparateOES v1 v2 = liftIO $ dyn52 ptr_glBlendEquationSeparateOES v1 v2
 
@@ -505,8 +505,8 @@
 glBlendEquationSeparatei
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
+  -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationSeparatei v1 v2 v3 = liftIO $ dyn53 ptr_glBlendEquationSeparatei v1 v2 v3
 
@@ -520,8 +520,8 @@
 glBlendEquationSeparateiARB
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
+  -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationSeparateiARB v1 v2 v3 = liftIO $ dyn53 ptr_glBlendEquationSeparateiARB v1 v2 v3
 
@@ -535,8 +535,8 @@
 glBlendEquationSeparateiEXT
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
+  -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationSeparateiEXT v1 v2 v3 = liftIO $ dyn53 ptr_glBlendEquationSeparateiEXT v1 v2 v3
 
@@ -550,8 +550,8 @@
 glBlendEquationSeparateiOES
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
+  -> GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationSeparateiOES v1 v2 v3 = liftIO $ dyn53 ptr_glBlendEquationSeparateiOES v1 v2 v3
 
@@ -565,7 +565,7 @@
 glBlendEquationi
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
+  -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationi v1 v2 = liftIO $ dyn16 ptr_glBlendEquationi v1 v2
 
@@ -579,7 +579,7 @@
 glBlendEquationiARB
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
+  -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationiARB v1 v2 = liftIO $ dyn16 ptr_glBlendEquationiARB v1 v2
 
@@ -593,7 +593,7 @@
 glBlendEquationiEXT
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
+  -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationiEXT v1 v2 = liftIO $ dyn16 ptr_glBlendEquationiEXT v1 v2
 
@@ -607,7 +607,7 @@
 glBlendEquationiOES
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
+  -> GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
   -> m ()
 glBlendEquationiOES v1 v2 = liftIO $ dyn16 ptr_glBlendEquationiOES v1 v2
 
@@ -620,8 +620,8 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendFunc.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFunc.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml OpenGL 4.x>.
 glBlendFunc
   :: MonadIO m
-  => GLenum -- ^ @sfactor@ of type [BlendingFactorSrc](Graphics-GL-Groups.html#BlendingFactorSrc).
-  -> GLenum -- ^ @dfactor@ of type [BlendingFactorDest](Graphics-GL-Groups.html#BlendingFactorDest).
+  => GLenum -- ^ @sfactor@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dfactor@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFunc v1 v2 = liftIO $ dyn52 ptr_glBlendFunc v1 v2
 
@@ -649,10 +649,10 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendFuncSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFuncSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml OpenGL 4.x>.
 glBlendFuncSeparate
   :: MonadIO m
-  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  => GLenum -- ^ @sfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @sfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparate v1 v2 v3 v4 = liftIO $ dyn54 ptr_glBlendFuncSeparate v1 v2 v3 v4
 
@@ -665,10 +665,10 @@
 -- | This command is an alias for 'glBlendFuncSeparate'.
 glBlendFuncSeparateEXT
   :: MonadIO m
-  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  => GLenum -- ^ @sfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @sfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparateEXT v1 v2 v3 v4 = liftIO $ dyn54 ptr_glBlendFuncSeparateEXT v1 v2 v3 v4
 
@@ -681,10 +681,10 @@
 -- | This command is an alias for 'glBlendFuncSeparate'.
 glBlendFuncSeparateINGR
   :: MonadIO m
-  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  => GLenum -- ^ @sfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dfactorRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @sfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dfactorAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparateINGR v1 v2 v3 v4 = liftIO $ dyn54 ptr_glBlendFuncSeparateINGR v1 v2 v3 v4
 
@@ -698,10 +698,10 @@
 glBlendFuncSeparateIndexedAMD
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
+  -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparateIndexedAMD v1 v2 v3 v4 v5 = liftIO $ dyn55 ptr_glBlendFuncSeparateIndexedAMD v1 v2 v3 v4 v5
 
@@ -713,10 +713,10 @@
 
 glBlendFuncSeparateOES
   :: MonadIO m
-  => GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
+  => GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparateOES v1 v2 v3 v4 = liftIO $ dyn54 ptr_glBlendFuncSeparateOES v1 v2 v3 v4
 
@@ -730,10 +730,10 @@
 glBlendFuncSeparatei
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
+  -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparatei v1 v2 v3 v4 v5 = liftIO $ dyn55 ptr_glBlendFuncSeparatei v1 v2 v3 v4 v5
 
@@ -747,10 +747,10 @@
 glBlendFuncSeparateiARB
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
+  -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparateiARB v1 v2 v3 v4 v5 = liftIO $ dyn55 ptr_glBlendFuncSeparateiARB v1 v2 v3 v4 v5
 
@@ -764,10 +764,10 @@
 glBlendFuncSeparateiEXT
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
+  -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparateiEXT v1 v2 v3 v4 v5 = liftIO $ dyn55 ptr_glBlendFuncSeparateiEXT v1 v2 v3 v4 v5
 
@@ -781,10 +781,10 @@
 glBlendFuncSeparateiOES
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
+  -> GLenum -- ^ @srcRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstRGB@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @srcAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dstAlpha@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFuncSeparateiOES v1 v2 v3 v4 v5 = liftIO $ dyn55 ptr_glBlendFuncSeparateiOES v1 v2 v3 v4 v5
 
@@ -798,8 +798,8 @@
 glBlendFunci
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
+  -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFunci v1 v2 v3 = liftIO $ dyn53 ptr_glBlendFunci v1 v2 v3
 
@@ -813,8 +813,8 @@
 glBlendFunciARB
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
+  -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFunciARB v1 v2 v3 = liftIO $ dyn53 ptr_glBlendFunciARB v1 v2 v3
 
@@ -828,8 +828,8 @@
 glBlendFunciEXT
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
+  -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFunciEXT v1 v2 v3 = liftIO $ dyn53 ptr_glBlendFunciEXT v1 v2 v3
 
@@ -843,8 +843,8 @@
 glBlendFunciOES
   :: MonadIO m
   => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
+  -> GLenum -- ^ @src@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
+  -> GLenum -- ^ @dst@ of type [BlendingFactor](Graphics-GL-Groups.html#BlendingFactor).
   -> m ()
 glBlendFunciOES v1 v2 v3 = liftIO $ dyn53 ptr_glBlendFunciOES v1 v2 v3
 
@@ -879,7 +879,7 @@
   -> GLint -- ^ @dstX1@.
   -> GLint -- ^ @dstY1@.
   -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
-  -> GLenum -- ^ @filter@.
+  -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
   -> m ()
 glBlitFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn57 ptr_glBlitFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
@@ -899,8 +899,8 @@
   -> GLint -- ^ @dstY0@.
   -> GLint -- ^ @dstX1@.
   -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@.
-  -> GLenum -- ^ @filter@.
+  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
+  -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
   -> m ()
 glBlitFramebufferANGLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn57 ptr_glBlitFramebufferANGLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
@@ -922,7 +922,7 @@
   -> GLint -- ^ @dstX1@.
   -> GLint -- ^ @dstY1@.
   -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
-  -> GLenum -- ^ @filter@.
+  -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
   -> m ()
 glBlitFramebufferEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn57 ptr_glBlitFramebufferEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
@@ -943,8 +943,8 @@
   -> GLint -- ^ @dstY0@.
   -> GLint -- ^ @dstX1@.
   -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@.
-  -> GLenum -- ^ @filter@.
+  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
+  -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
   -> m ()
 glBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn57 ptr_glBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
@@ -967,8 +967,8 @@
   -> GLint -- ^ @dstY0@.
   -> GLint -- ^ @dstX1@.
   -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@.
-  -> GLenum -- ^ @filter@.
+  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
+  -> GLenum -- ^ @filter@ of type [BlitFramebufferFilter](Graphics-GL-Groups.html#BlitFramebufferFilter).
   -> m ()
 glBlitNamedFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn58 ptr_glBlitNamedFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
 
@@ -1057,10 +1057,10 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferStorage.xhtml OpenGL 4.x>.
 glBufferStorage
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferStorageTarget](Graphics-GL-Groups.html#BufferStorageTarget).
   -> GLsizeiptr -- ^ @size@.
   -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [MapBufferUsageMask](Graphics-GL-Groups.html#MapBufferUsageMask).
   -> m ()
 glBufferStorage v1 v2 v3 v4 = liftIO $ dyn64 ptr_glBufferStorage v1 v2 v3 v4
 
@@ -1073,10 +1073,10 @@
 -- | This command is an alias for 'glBufferStorage'.
 glBufferStorageEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferStorageTarget](Graphics-GL-Groups.html#BufferStorageTarget).
   -> GLsizeiptr -- ^ @size@.
   -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [MapBufferUsageMask](Graphics-GL-Groups.html#MapBufferUsageMask).
   -> m ()
 glBufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn64 ptr_glBufferStorageEXT v1 v2 v3 v4
 
@@ -1092,7 +1092,7 @@
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @size@.
   -> GLeglClientBufferEXT -- ^ @clientBuffer@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [MapBufferUsageMask](Graphics-GL-Groups.html#MapBufferUsageMask).
   -> m ()
 glBufferStorageExternalEXT v1 v2 v3 v4 v5 = liftIO $ dyn65 ptr_glBufferStorageExternalEXT v1 v2 v3 v4 v5
 
@@ -1192,8 +1192,8 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCheckFramebufferStatus.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml OpenGL 4.x>.
 glCheckFramebufferStatus
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> m GLenum
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
 glCheckFramebufferStatus v1 = liftIO $ dyn70 ptr_glCheckFramebufferStatus v1
 
 {-# NOINLINE ptr_glCheckFramebufferStatus #-}
@@ -1205,8 +1205,8 @@
 -- | This command is an alias for 'glCheckFramebufferStatus'.
 glCheckFramebufferStatusEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> m GLenum
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
 glCheckFramebufferStatusEXT v1 = liftIO $ dyn70 ptr_glCheckFramebufferStatusEXT v1
 
 {-# NOINLINE ptr_glCheckFramebufferStatusEXT #-}
@@ -1217,8 +1217,8 @@
 
 glCheckFramebufferStatusOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m GLenum
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
 glCheckFramebufferStatusOES v1 = liftIO $ dyn70 ptr_glCheckFramebufferStatusOES v1
 
 {-# NOINLINE ptr_glCheckFramebufferStatusOES #-}
@@ -1231,8 +1231,8 @@
 glCheckNamedFramebufferStatus
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @target@.
-  -> m GLenum
+  -> GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
 glCheckNamedFramebufferStatus v1 v2 = liftIO $ dyn71 ptr_glCheckNamedFramebufferStatus v1 v2
 
 {-# NOINLINE ptr_glCheckNamedFramebufferStatus #-}
@@ -1244,8 +1244,8 @@
 glCheckNamedFramebufferStatusEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> m GLenum -- ^ of type @FramebufferStatus@.
+  -> GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> m GLenum -- ^ of type [FramebufferStatus](Graphics-GL-Groups.html#FramebufferStatus).
 glCheckNamedFramebufferStatusEXT v1 v2 = liftIO $ dyn71 ptr_glCheckNamedFramebufferStatusEXT v1 v2
 
 {-# NOINLINE ptr_glCheckNamedFramebufferStatusEXT #-}
@@ -1329,10 +1329,10 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferData.xhtml OpenGL 4.x>.
 glClearBufferData
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @target@ of type [BufferStorageTarget](Graphics-GL-Groups.html#BufferStorageTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
   -> m ()
 glClearBufferData v1 v2 v3 v4 v5 = liftIO $ dyn73 ptr_glClearBufferData v1 v2 v3 v4 v5
@@ -1347,11 +1347,11 @@
 glClearBufferSubData
   :: MonadIO m
   => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
   -> m ()
 glClearBufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn74 ptr_glClearBufferSubData v1 v2 v3 v4 v5 v6 v7
@@ -1365,7 +1365,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
 glClearBufferfi
   :: MonadIO m
-  => GLenum -- ^ @buffer@.
+  => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
   -> GLfloat -- ^ @depth@.
   -> GLint -- ^ @stencil@.
@@ -1381,7 +1381,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
 glClearBufferfv
   :: MonadIO m
-  => GLenum -- ^ @buffer@.
+  => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
   -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLfloat@.
   -> m ()
@@ -1396,7 +1396,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
 glClearBufferiv
   :: MonadIO m
-  => GLenum -- ^ @buffer@.
+  => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
   -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLint@.
   -> m ()
@@ -1411,7 +1411,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
 glClearBufferuiv
   :: MonadIO m
-  => GLenum -- ^ @buffer@.
+  => GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
   -> Ptr GLuint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLuint@.
   -> m ()
@@ -1591,9 +1591,9 @@
 glClearNamedBufferData
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@.
   -> m ()
 glClearNamedBufferData v1 v2 v3 v4 v5 = liftIO $ dyn85 ptr_glClearNamedBufferData v1 v2 v3 v4 v5
@@ -1607,7 +1607,7 @@
 glClearNamedBufferDataEXT
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
diff --git a/src/Graphics/GL/Functions/F03.hs b/src/Graphics/GL/Functions/F03.hs
--- a/src/Graphics/GL/Functions/F03.hs
+++ b/src/Graphics/GL/Functions/F03.hs
@@ -34,6 +34,7 @@
   glClientWaitSync,
   glClientWaitSyncAPPLE,
   glClipControl,
+  glClipControlEXT,
   glClipPlane,
   glClipPlanef,
   glClipPlanefIMG,
@@ -113,8 +114,7 @@
   glColorTable,
   glColorTableEXT,
   glColorTableParameterfv,
-  glColorTableParameterfvSGI,
-  glColorTableParameteriv
+  glColorTableParameterfvSGI
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -129,11 +129,11 @@
 glClearNamedBufferSubData
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@.
   -> m ()
 glClearNamedBufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn86 ptr_glClearNamedBufferSubData v1 v2 v3 v4 v5 v6 v7
@@ -166,7 +166,7 @@
 glClearNamedFramebufferfi
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
+  -> GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@.
   -> GLfloat -- ^ @depth@.
   -> GLint -- ^ @stencil@.
@@ -183,7 +183,7 @@
 glClearNamedFramebufferfv
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
+  -> GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@.
   -> Ptr GLfloat -- ^ @value@.
   -> m ()
@@ -199,7 +199,7 @@
 glClearNamedFramebufferiv
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
+  -> GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@.
   -> Ptr GLint -- ^ @value@.
   -> m ()
@@ -215,7 +215,7 @@
 glClearNamedFramebufferuiv
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
+  -> GLenum -- ^ @buffer@ of type [Buffer](Graphics-GL-Groups.html#Buffer).
   -> GLint -- ^ @drawbuffer@.
   -> Ptr GLuint -- ^ @value@.
   -> m ()
@@ -231,7 +231,7 @@
   :: MonadIO m
   => GLsizei -- ^ @offset@.
   -> GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @values@.
+  -> Ptr GLuint -- ^ @values@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glClearPixelLocalStorageuiEXT v1 v2 v3 = liftIO $ dyn92 ptr_glClearPixelLocalStorageuiEXT v1 v2 v3
 
@@ -259,8 +259,8 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
   -> m ()
 glClearTexImage v1 v2 v3 v4 v5 = liftIO $ dyn93 ptr_glClearTexImage v1 v2 v3 v4 v5
@@ -276,8 +276,8 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
   -> m ()
 glClearTexImageEXT v1 v2 v3 v4 v5 = liftIO $ dyn93 ptr_glClearTexImageEXT v1 v2 v3 v4 v5
@@ -299,8 +299,8 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
   -> m ()
 glClearTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn94 ptr_glClearTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
@@ -322,8 +322,8 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
   -> m ()
 glClearTexSubImageEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn94 ptr_glClearTexSubImageEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
@@ -337,7 +337,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClientActiveTexture.xml OpenGL 2.x>.
 glClientActiveTexture
   :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> m ()
 glClientActiveTexture v1 = liftIO $ dyn5 ptr_glClientActiveTexture v1
 
@@ -350,7 +350,7 @@
 -- | This command is an alias for 'glClientActiveTexture'.
 glClientActiveTextureARB
   :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> m ()
 glClientActiveTextureARB v1 = liftIO $ dyn5 ptr_glClientActiveTextureARB v1
 
@@ -388,9 +388,9 @@
 glClientWaitSync
   :: MonadIO m
   => GLsync -- ^ @sync@ of type @sync@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [SyncObjectMask](Graphics-GL-Groups.html#SyncObjectMask).
   -> GLuint64 -- ^ @timeout@.
-  -> m GLenum
+  -> m GLenum -- ^ of type [SyncStatus](Graphics-GL-Groups.html#SyncStatus).
 glClientWaitSync v1 v2 v3 = liftIO $ dyn95 ptr_glClientWaitSync v1 v2 v3
 
 {-# NOINLINE ptr_glClientWaitSync #-}
@@ -403,9 +403,9 @@
 glClientWaitSyncAPPLE
   :: MonadIO m
   => GLsync -- ^ @sync@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [SyncObjectMask](Graphics-GL-Groups.html#SyncObjectMask).
   -> GLuint64 -- ^ @timeout@.
-  -> m GLenum
+  -> m GLenum -- ^ of type [SyncStatus](Graphics-GL-Groups.html#SyncStatus).
 glClientWaitSyncAPPLE v1 v2 v3 = liftIO $ dyn95 ptr_glClientWaitSyncAPPLE v1 v2 v3
 
 {-# NOINLINE ptr_glClientWaitSyncAPPLE #-}
@@ -417,8 +417,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClipControl.xhtml OpenGL 4.x>.
 glClipControl
   :: MonadIO m
-  => GLenum -- ^ @origin@.
-  -> GLenum -- ^ @depth@.
+  => GLenum -- ^ @origin@ of type [ClipControlOrigin](Graphics-GL-Groups.html#ClipControlOrigin).
+  -> GLenum -- ^ @depth@ of type [ClipControlDepth](Graphics-GL-Groups.html#ClipControlDepth).
   -> m ()
 glClipControl v1 v2 = liftIO $ dyn52 ptr_glClipControl v1 v2
 
@@ -426,6 +426,20 @@
 ptr_glClipControl :: FunPtr (GLenum -> GLenum -> IO ())
 ptr_glClipControl = unsafePerformIO $ getCommand "glClipControl"
 
+-- glClipControlEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glClipControlEXT'.
+glClipControlEXT
+  :: MonadIO m
+  => GLenum -- ^ @origin@.
+  -> GLenum -- ^ @depth@.
+  -> m ()
+glClipControlEXT v1 v2 = liftIO $ dyn52 ptr_glClipControlEXT v1 v2
+
+{-# NOINLINE ptr_glClipControlEXT #-}
+ptr_glClipControlEXT :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glClipControlEXT = unsafePerformIO $ getCommand "glClipControlEXT"
+
 -- glClipPlane -----------------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClipPlane.xml OpenGL 2.x>.
@@ -444,7 +458,7 @@
 
 glClipPlanef
   :: MonadIO m
-  => GLenum -- ^ @p@.
+  => GLenum -- ^ @p@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfloat -- ^ @eqn@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
 glClipPlanef v1 v2 = liftIO $ dyn97 ptr_glClipPlanef v1 v2
@@ -457,7 +471,7 @@
 
 glClipPlanefIMG
   :: MonadIO m
-  => GLenum -- ^ @p@.
+  => GLenum -- ^ @p@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfloat -- ^ @eqn@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
 glClipPlanefIMG v1 v2 = liftIO $ dyn97 ptr_glClipPlanefIMG v1 v2
@@ -470,7 +484,7 @@
 
 glClipPlanefOES
   :: MonadIO m
-  => GLenum -- ^ @plane@.
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
 glClipPlanefOES v1 v2 = liftIO $ dyn97 ptr_glClipPlanefOES v1 v2
@@ -483,7 +497,7 @@
 
 glClipPlanex
   :: MonadIO m
-  => GLenum -- ^ @plane@.
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
   -> m ()
 glClipPlanex v1 v2 = liftIO $ dyn98 ptr_glClipPlanex v1 v2
@@ -496,7 +510,7 @@
 
 glClipPlanexIMG
   :: MonadIO m
-  => GLenum -- ^ @p@.
+  => GLenum -- ^ @p@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfixed -- ^ @eqn@ pointing to @4@ elements of type @GLfixed@.
   -> m ()
 glClipPlanexIMG v1 v2 = liftIO $ dyn98 ptr_glClipPlanexIMG v1 v2
@@ -509,7 +523,7 @@
 
 glClipPlanexOES
   :: MonadIO m
-  => GLenum -- ^ @plane@.
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
   -> m ()
 glClipPlanexOES v1 v2 = liftIO $ dyn98 ptr_glClipPlanexOES v1 v2
@@ -1241,7 +1255,7 @@
 
 glColorFragmentOp1ATI
   :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
   -> GLuint -- ^ @dst@.
   -> GLuint -- ^ @dstMask@.
   -> GLuint -- ^ @dstMod@.
@@ -1259,7 +1273,7 @@
 
 glColorFragmentOp2ATI
   :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
   -> GLuint -- ^ @dst@.
   -> GLuint -- ^ @dstMask@.
   -> GLuint -- ^ @dstMod@.
@@ -1280,7 +1294,7 @@
 
 glColorFragmentOp3ATI
   :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  => GLenum -- ^ @op@ of type [FragmentOpATI](Graphics-GL-Groups.html#FragmentOpATI).
   -> GLuint -- ^ @dst@.
   -> GLuint -- ^ @dstMask@.
   -> GLuint -- ^ @dstMod@.
@@ -1402,7 +1416,7 @@
 
 glColorP3ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
   -> GLuint -- ^ @color@.
   -> m ()
 glColorP3ui v1 v2 = liftIO $ dyn17 ptr_glColorP3ui v1 v2
@@ -1415,7 +1429,7 @@
 
 glColorP3uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
   -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glColorP3uiv v1 v2 = liftIO $ dyn128 ptr_glColorP3uiv v1 v2
@@ -1428,7 +1442,7 @@
 
 glColorP4ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
   -> GLuint -- ^ @color@.
   -> m ()
 glColorP4ui v1 v2 = liftIO $ dyn17 ptr_glColorP4ui v1 v2
@@ -1441,7 +1455,7 @@
 
 glColorP4uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
   -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glColorP4uiv v1 v2 = liftIO $ dyn128 ptr_glColorP4uiv v1 v2
@@ -1517,7 +1531,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorSubTable.xml OpenGL 2.x>.
 glColorSubTable
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLsizei -- ^ @start@.
   -> GLsizei -- ^ @count@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
@@ -1535,7 +1549,7 @@
 -- | This command is an alias for 'glColorSubTable'.
 glColorSubTableEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLsizei -- ^ @start@.
   -> GLsizei -- ^ @count@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
@@ -1553,7 +1567,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTable.xml OpenGL 2.x>.
 glColorTable
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
@@ -1571,7 +1585,7 @@
 -- | This command is an alias for 'glColorTable'.
 glColorTableEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLenum -- ^ @internalFormat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
@@ -1589,8 +1603,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
 glColorTableParameterfv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @ColorTableParameterPName@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
 glColorTableParameterfv v1 v2 v3 = liftIO $ dyn135 ptr_glColorTableParameterfv v1 v2 v3
@@ -1613,19 +1627,4 @@
 {-# NOINLINE ptr_glColorTableParameterfvSGI #-}
 ptr_glColorTableParameterfvSGI :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
 ptr_glColorTableParameterfvSGI = unsafePerformIO $ getCommand "glColorTableParameterfvSGI"
-
--- glColorTableParameteriv -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
-glColorTableParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @ColorTableParameterPName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glColorTableParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glColorTableParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glColorTableParameteriv #-}
-ptr_glColorTableParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glColorTableParameteriv = unsafePerformIO $ getCommand "glColorTableParameteriv"
 
diff --git a/src/Graphics/GL/Functions/F04.hs b/src/Graphics/GL/Functions/F04.hs
--- a/src/Graphics/GL/Functions/F04.hs
+++ b/src/Graphics/GL/Functions/F04.hs
@@ -15,6 +15,7 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F04 (
+  glColorTableParameteriv,
   glColorTableParameterivSGI,
   glColorTableSGI,
   glCombinerInputNV,
@@ -113,8 +114,7 @@
   glCopyTextureSubImage1D,
   glCopyTextureSubImage1DEXT,
   glCopyTextureSubImage2D,
-  glCopyTextureSubImage2DEXT,
-  glCopyTextureSubImage3D
+  glCopyTextureSubImage2DEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,21 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glColorTableParameteriv -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
+glColorTableParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glColorTableParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glColorTableParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glColorTableParameteriv #-}
+ptr_glColorTableParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glColorTableParameteriv = unsafePerformIO $ getCommand "glColorTableParameteriv"
+
 -- glColorTableParameterivSGI --------------------------------------------------
 
 -- | This command is an alias for 'glColorTableParameteriv'.
@@ -330,10 +345,10 @@
 
 glCompressedMultiTexImage1DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
   -> GLsizei -- ^ @imageSize@.
@@ -349,10 +364,10 @@
 
 glCompressedMultiTexImage2DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
@@ -369,10 +384,10 @@
 
 glCompressedMultiTexImage3DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
@@ -390,7 +405,7 @@
 
 glCompressedMultiTexSubImage1DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -409,7 +424,7 @@
 
 glCompressedMultiTexSubImage2DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -430,7 +445,7 @@
 
 glCompressedMultiTexSubImage3DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -573,9 +588,9 @@
 
 glCompressedTexImage3DOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
@@ -719,7 +734,7 @@
 
 glCompressedTexSubImage3DOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@.
   -> GLint -- ^ @xoffset@.
   -> GLint -- ^ @yoffset@.
@@ -727,7 +742,7 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLsizei -- ^ @imageSize@.
   -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @a@.
   -> m ()
@@ -744,7 +759,7 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
   -> GLsizei -- ^ @imageSize@.
@@ -763,7 +778,7 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
@@ -783,7 +798,7 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
@@ -806,7 +821,7 @@
   -> GLint -- ^ @level@.
   -> GLint -- ^ @xoffset@.
   -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLsizei -- ^ @imageSize@.
   -> Ptr a -- ^ @data@.
   -> m ()
@@ -846,7 +861,7 @@
   -> GLint -- ^ @yoffset@.
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLsizei -- ^ @imageSize@.
   -> Ptr a -- ^ @data@.
   -> m ()
@@ -890,7 +905,7 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLsizei -- ^ @imageSize@.
   -> Ptr a -- ^ @data@.
   -> m ()
@@ -954,7 +969,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter1D.xml OpenGL 2.x>.
 glConvolutionFilter1D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
@@ -990,7 +1005,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter2D.xml OpenGL 2.x>.
 glConvolutionFilter2D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
@@ -1028,8 +1043,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
 glConvolutionParameterf
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> GLfloat -- ^ @params@ of type @CheckedFloat32@.
   -> m ()
 glConvolutionParameterf v1 v2 v3 = liftIO $ dyn164 ptr_glConvolutionParameterf v1 v2 v3
@@ -1058,8 +1073,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
 glConvolutionParameterfv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
 glConvolutionParameterfv v1 v2 v3 = liftIO $ dyn135 ptr_glConvolutionParameterfv v1 v2 v3
@@ -1088,8 +1103,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
 glConvolutionParameteri
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> GLint -- ^ @params@ of type @CheckedInt32@.
   -> m ()
 glConvolutionParameteri v1 v2 v3 = liftIO $ dyn63 ptr_glConvolutionParameteri v1 v2 v3
@@ -1118,8 +1133,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
 glConvolutionParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
 glConvolutionParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glConvolutionParameteriv v1 v2 v3
@@ -1147,8 +1162,8 @@
 
 glConvolutionParameterxOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> GLfixed -- ^ @param@.
   -> m ()
 glConvolutionParameterxOES v1 v2 v3 = liftIO $ dyn165 ptr_glConvolutionParameterxOES v1 v2 v3
@@ -1161,8 +1176,8 @@
 
 glConvolutionParameterxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glConvolutionParameterxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glConvolutionParameterxvOES v1 v2 v3
@@ -1176,8 +1191,8 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml OpenGL 4.x>.
 glCopyBufferSubData
   :: MonadIO m
-  => GLenum -- ^ @readTarget@.
-  -> GLenum -- ^ @writeTarget@.
+  => GLenum -- ^ @readTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
+  -> GLenum -- ^ @writeTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
   -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
@@ -1193,8 +1208,8 @@
 -- | This command is an alias for 'glCopyBufferSubData'.
 glCopyBufferSubDataNV
   :: MonadIO m
-  => GLenum -- ^ @readTarget@.
-  -> GLenum -- ^ @writeTarget@.
+  => GLenum -- ^ @readTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
+  -> GLenum -- ^ @writeTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
   -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
@@ -1210,7 +1225,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorSubTable.xml OpenGL 2.x>.
 glCopyColorSubTable
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLsizei -- ^ @start@.
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
@@ -1227,7 +1242,7 @@
 -- | This command is an alias for 'glCopyColorSubTable'.
 glCopyColorSubTableEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLsizei -- ^ @start@.
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
@@ -1244,7 +1259,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorTable.xml OpenGL 2.x>.
 glCopyColorTable
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
@@ -1278,7 +1293,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter1D.xml OpenGL 2.x>.
 glCopyConvolutionFilter1D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
@@ -1312,7 +1327,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter2D.xml OpenGL 2.x>.
 glCopyConvolutionFilter2D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
@@ -1349,13 +1364,13 @@
 glCopyImageSubData
   :: MonadIO m
   => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
+  -> GLenum -- ^ @srcTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @srcLevel@.
   -> GLint -- ^ @srcX@.
   -> GLint -- ^ @srcY@.
   -> GLint -- ^ @srcZ@.
   -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
+  -> GLenum -- ^ @dstTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @dstLevel@.
   -> GLint -- ^ @dstX@.
   -> GLint -- ^ @dstY@.
@@ -1376,13 +1391,13 @@
 glCopyImageSubDataEXT
   :: MonadIO m
   => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
+  -> GLenum -- ^ @srcTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @srcLevel@.
   -> GLint -- ^ @srcX@.
   -> GLint -- ^ @srcY@.
   -> GLint -- ^ @srcZ@.
   -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
+  -> GLenum -- ^ @dstTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @dstLevel@.
   -> GLint -- ^ @dstX@.
   -> GLint -- ^ @dstY@.
@@ -1402,13 +1417,13 @@
 glCopyImageSubDataNV
   :: MonadIO m
   => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
+  -> GLenum -- ^ @srcTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @srcLevel@.
   -> GLint -- ^ @srcX@.
   -> GLint -- ^ @srcY@.
   -> GLint -- ^ @srcZ@.
   -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
+  -> GLenum -- ^ @dstTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @dstLevel@.
   -> GLint -- ^ @dstX@.
   -> GLint -- ^ @dstY@.
@@ -1429,13 +1444,13 @@
 glCopyImageSubDataOES
   :: MonadIO m
   => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
+  -> GLenum -- ^ @srcTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @srcLevel@.
   -> GLint -- ^ @srcX@.
   -> GLint -- ^ @srcY@.
   -> GLint -- ^ @srcZ@.
   -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
+  -> GLenum -- ^ @dstTarget@ of type [CopyBufferSubDataTarget](Graphics-GL-Groups.html#CopyBufferSubDataTarget).
   -> GLint -- ^ @dstLevel@.
   -> GLint -- ^ @dstX@.
   -> GLint -- ^ @dstY@.
@@ -1454,10 +1469,10 @@
 
 glCopyMultiTexImage1DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
   -> GLsizei -- ^ @width@.
@@ -1473,10 +1488,10 @@
 
 glCopyMultiTexImage2DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
   -> GLsizei -- ^ @width@.
@@ -1493,7 +1508,7 @@
 
 glCopyMultiTexSubImage1DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -1511,7 +1526,7 @@
 
 glCopyMultiTexSubImage2DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -1531,7 +1546,7 @@
 
 glCopyMultiTexSubImage3DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -1818,7 +1833,7 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
   -> GLsizei -- ^ @width@.
@@ -1837,7 +1852,7 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLint -- ^ @x@ of type @WinCoord@.
   -> GLint -- ^ @y@ of type @WinCoord@.
   -> GLsizei -- ^ @width@.
@@ -1940,25 +1955,4 @@
 {-# NOINLINE ptr_glCopyTextureSubImage2DEXT #-}
 ptr_glCopyTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
 ptr_glCopyTextureSubImage2DEXT = unsafePerformIO $ getCommand "glCopyTextureSubImage2DEXT"
-
--- glCopyTextureSubImage3D -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
-glCopyTextureSubImage3D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn191 ptr_glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyTextureSubImage3D #-}
-ptr_glCopyTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTextureSubImage3D = unsafePerformIO $ getCommand "glCopyTextureSubImage3D"
 
diff --git a/src/Graphics/GL/Functions/F05.hs b/src/Graphics/GL/Functions/F05.hs
--- a/src/Graphics/GL/Functions/F05.hs
+++ b/src/Graphics/GL/Functions/F05.hs
@@ -15,6 +15,7 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F05 (
+  glCopyTextureSubImage3D,
   glCopyTextureSubImage3DEXT,
   glCoverFillPathInstancedNV,
   glCoverFillPathNV,
@@ -92,6 +93,7 @@
   glDeleteQueries,
   glDeleteQueriesARB,
   glDeleteQueriesEXT,
+  glDeleteQueryResourceTagNV,
   glDeleteRenderbuffers,
   glDeleteRenderbuffersEXT,
   glDeleteRenderbuffersOES,
@@ -112,9 +114,7 @@
   glDepthBoundsEXT,
   glDepthBoundsdNV,
   glDepthFunc,
-  glDepthMask,
-  glDepthRange,
-  glDepthRangeArrayfvNV
+  glDepthMask
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,27 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glCopyTextureSubImage3D -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
+glCopyTextureSubImage3D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn191 ptr_glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyTextureSubImage3D #-}
+ptr_glCopyTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTextureSubImage3D = unsafePerformIO $ getCommand "glCopyTextureSubImage3D"
+
 -- glCopyTextureSubImage3DEXT --------------------------------------------------
 
 glCopyTextureSubImage3DEXT
@@ -149,11 +170,11 @@
 glCoverFillPathInstancedNV
   :: MonadIO m
   => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
   -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
   -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
+  -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
   -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
   -> m ()
 glCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn193 ptr_glCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7
@@ -167,7 +188,7 @@
 glCoverFillPathNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
+  -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
   -> m ()
 glCoverFillPathNV v1 v2 = liftIO $ dyn16 ptr_glCoverFillPathNV v1 v2
 
@@ -180,11 +201,11 @@
 glCoverStrokePathInstancedNV
   :: MonadIO m
   => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
   -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
   -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
+  -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
   -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
   -> m ()
 glCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn193 ptr_glCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7
@@ -198,7 +219,7 @@
 glCoverStrokePathNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
+  -> GLenum -- ^ @coverMode@ of type [PathCoverMode](Graphics-GL-Groups.html#PathCoverMode).
   -> m ()
 glCoverStrokePathNV v1 v2 = liftIO $ dyn16 ptr_glCoverStrokePathNV v1 v2
 
@@ -235,7 +256,7 @@
 glCoverageModulationTableNV
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLfloat -- ^ @v@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @n@ elements of type @GLfloat@.
   -> m ()
 glCoverageModulationTableNV v1 v2 = liftIO $ dyn195 ptr_glCoverageModulationTableNV v1 v2
 
@@ -261,7 +282,7 @@
 glCreateBuffers
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @buffers@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateBuffers v1 v2 = liftIO $ dyn196 ptr_glCreateBuffers v1 v2
 
@@ -274,7 +295,7 @@
 glCreateCommandListsNV
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @lists@.
+  -> Ptr GLuint -- ^ @lists@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateCommandListsNV v1 v2 = liftIO $ dyn196 ptr_glCreateCommandListsNV v1 v2
 
@@ -288,7 +309,7 @@
 glCreateFramebuffers
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@.
+  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateFramebuffers v1 v2 = liftIO $ dyn196 ptr_glCreateFramebuffers v1 v2
 
@@ -352,7 +373,7 @@
 glCreateProgramPipelines
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @pipelines@.
+  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateProgramPipelines v1 v2 = liftIO $ dyn196 ptr_glCreateProgramPipelines v1 v2
 
@@ -365,9 +386,9 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateQueries.xhtml OpenGL 4.x>.
 glCreateQueries
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateQueries v1 v2 v3 = liftIO $ dyn200 ptr_glCreateQueries v1 v2 v3
 
@@ -381,7 +402,7 @@
 glCreateRenderbuffers
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@.
+  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateRenderbuffers v1 v2 = liftIO $ dyn196 ptr_glCreateRenderbuffers v1 v2
 
@@ -395,7 +416,7 @@
 glCreateSamplers
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @samplers@.
+  -> Ptr GLuint -- ^ @samplers@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateSamplers v1 v2 = liftIO $ dyn196 ptr_glCreateSamplers v1 v2
 
@@ -408,7 +429,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCreateShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCreateShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCreateShader.xhtml OpenGL 4.x>.
 glCreateShader
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> m GLuint
 glCreateShader v1 = liftIO $ dyn31 ptr_glCreateShader v1
 
@@ -421,7 +442,7 @@
 -- | This command is an alias for 'glCreateShader'.
 glCreateShaderObjectARB
   :: MonadIO m
-  => GLenum -- ^ @shaderType@.
+  => GLenum -- ^ @shaderType@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> m GLhandleARB -- ^ of type @handleARB@.
 glCreateShaderObjectARB v1 = liftIO $ dyn201 ptr_glCreateShaderObjectARB v1
 
@@ -433,7 +454,7 @@
 
 glCreateShaderProgramEXT
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> Ptr GLchar -- ^ @string@.
   -> m GLuint
 glCreateShaderProgramEXT v1 v2 = liftIO $ dyn202 ptr_glCreateShaderProgramEXT v1 v2
@@ -447,7 +468,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateShaderProgram.xhtml OpenGL 4.x>.
 glCreateShaderProgramv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> GLsizei -- ^ @count@.
   -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
   -> m GLuint
@@ -461,7 +482,7 @@
 
 glCreateShaderProgramvEXT
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> GLsizei -- ^ @count@.
   -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
   -> m GLuint
@@ -476,7 +497,7 @@
 glCreateStatesNV
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @states@.
+  -> Ptr GLuint -- ^ @states@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateStatesNV v1 v2 = liftIO $ dyn196 ptr_glCreateStatesNV v1 v2
 
@@ -503,9 +524,9 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateTextures.xhtml OpenGL 4.x>.
 glCreateTextures
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateTextures v1 v2 v3 = liftIO $ dyn200 ptr_glCreateTextures v1 v2 v3
 
@@ -519,7 +540,7 @@
 glCreateTransformFeedbacks
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateTransformFeedbacks v1 v2 = liftIO $ dyn196 ptr_glCreateTransformFeedbacks v1 v2
 
@@ -533,7 +554,7 @@
 glCreateVertexArrays
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@.
+  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glCreateVertexArrays v1 v2 = liftIO $ dyn196 ptr_glCreateVertexArrays v1 v2
 
@@ -664,9 +685,9 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageControl.xhtml OpenGL 4.x>.
 glDebugMessageControl
   :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @severity@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
   -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
@@ -682,9 +703,9 @@
 -- | This command is an alias for 'glDebugMessageControl'.
 glDebugMessageControlARB
   :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @severity@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
   -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
@@ -700,9 +721,9 @@
 -- | This command is an alias for 'glDebugMessageControl'.
 glDebugMessageControlKHR
   :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @severity@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @ids@.
   -> GLboolean -- ^ @enabled@.
@@ -718,7 +739,7 @@
 glDebugMessageEnableAMD
   :: MonadIO m
   => GLenum -- ^ @category@.
-  -> GLenum -- ^ @severity@.
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
   -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
@@ -734,10 +755,10 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageInsert.xhtml OpenGL 4.x>.
 glDebugMessageInsert
   :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
   -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @severity@.
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @buf@ pointing to @COMPSIZE(buf,length)@ elements of type @GLchar@.
   -> m ()
@@ -752,7 +773,7 @@
 glDebugMessageInsertAMD
   :: MonadIO m
   => GLenum -- ^ @category@.
-  -> GLenum -- ^ @severity@.
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLuint -- ^ @id@.
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
@@ -768,10 +789,10 @@
 -- | This command is an alias for 'glDebugMessageInsert'.
 glDebugMessageInsertARB
   :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
   -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @severity@.
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
   -> m ()
@@ -786,10 +807,10 @@
 -- | This command is an alias for 'glDebugMessageInsert'.
 glDebugMessageInsertKHR
   :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> GLenum -- ^ @type@ of type [DebugType](Graphics-GL-Groups.html#DebugType).
   -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @severity@.
+  -> GLenum -- ^ @severity@ of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @buf@.
   -> m ()
@@ -907,7 +928,7 @@
 glDeleteCommandListsNV
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @lists@.
+  -> Ptr GLuint -- ^ @lists@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glDeleteCommandListsNV v1 v2 = liftIO $ dyn196 ptr_glDeleteCommandListsNV v1 v2
 
@@ -1219,6 +1240,19 @@
 ptr_glDeleteQueriesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
 ptr_glDeleteQueriesEXT = unsafePerformIO $ getCommand "glDeleteQueriesEXT"
 
+-- glDeleteQueryResourceTagNV --------------------------------------------------
+
+glDeleteQueryResourceTagNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLint -- ^ @tagIds@ pointing to @n@ elements of type @GLint@.
+  -> m ()
+glDeleteQueryResourceTagNV v1 v2 = liftIO $ dyn218 ptr_glDeleteQueryResourceTagNV v1 v2
+
+{-# NOINLINE ptr_glDeleteQueryResourceTagNV #-}
+ptr_glDeleteQueryResourceTagNV :: FunPtr (GLsizei -> Ptr GLint -> IO ())
+ptr_glDeleteQueryResourceTagNV = unsafePerformIO $ getCommand "glDeleteQueryResourceTagNV"
+
 -- glDeleteRenderbuffers -------------------------------------------------------
 
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteRenderbuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteRenderbuffers.xhtml OpenGL 4.x>.
@@ -1279,7 +1313,7 @@
 glDeleteSemaphoresEXT
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @semaphores@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLuint -- ^ @semaphores@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glDeleteSemaphoresEXT v1 v2 = liftIO $ dyn196 ptr_glDeleteSemaphoresEXT v1 v2
 
@@ -1305,7 +1339,7 @@
 glDeleteStatesNV
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @states@.
+  -> Ptr GLuint -- ^ @states@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glDeleteStatesNV v1 v2 = liftIO $ dyn196 ptr_glDeleteStatesNV v1 v2
 
@@ -1320,7 +1354,7 @@
   :: MonadIO m
   => GLsync -- ^ @sync@ of type @sync@.
   -> m ()
-glDeleteSync v1 = liftIO $ dyn218 ptr_glDeleteSync v1
+glDeleteSync v1 = liftIO $ dyn219 ptr_glDeleteSync v1
 
 {-# NOINLINE ptr_glDeleteSync #-}
 ptr_glDeleteSync :: FunPtr (GLsync -> IO ())
@@ -1333,7 +1367,7 @@
   :: MonadIO m
   => GLsync -- ^ @sync@.
   -> m ()
-glDeleteSyncAPPLE v1 = liftIO $ dyn218 ptr_glDeleteSyncAPPLE v1
+glDeleteSyncAPPLE v1 = liftIO $ dyn219 ptr_glDeleteSyncAPPLE v1
 
 {-# NOINLINE ptr_glDeleteSyncAPPLE #-}
 ptr_glDeleteSyncAPPLE :: FunPtr (GLsync -> IO ())
@@ -1455,7 +1489,7 @@
   => GLclampd -- ^ @zmin@ of type @ClampedFloat64@.
   -> GLclampd -- ^ @zmax@ of type @ClampedFloat64@.
   -> m ()
-glDepthBoundsEXT v1 v2 = liftIO $ dyn219 ptr_glDepthBoundsEXT v1 v2
+glDepthBoundsEXT v1 v2 = liftIO $ dyn220 ptr_glDepthBoundsEXT v1 v2
 
 {-# NOINLINE ptr_glDepthBoundsEXT #-}
 ptr_glDepthBoundsEXT :: FunPtr (GLclampd -> GLclampd -> IO ())
@@ -1468,7 +1502,7 @@
   => GLdouble -- ^ @zmin@.
   -> GLdouble -- ^ @zmax@.
   -> m ()
-glDepthBoundsdNV v1 v2 = liftIO $ dyn220 ptr_glDepthBoundsdNV v1 v2
+glDepthBoundsdNV v1 v2 = liftIO $ dyn221 ptr_glDepthBoundsdNV v1 v2
 
 {-# NOINLINE ptr_glDepthBoundsdNV #-}
 ptr_glDepthBoundsdNV :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -1499,32 +1533,4 @@
 {-# NOINLINE ptr_glDepthMask #-}
 ptr_glDepthMask :: FunPtr (GLboolean -> IO ())
 ptr_glDepthMask = unsafePerformIO $ getCommand "glDepthMask"
-
--- glDepthRange ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthRange.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml OpenGL 4.x>.
-glDepthRange
-  :: MonadIO m
-  => GLdouble -- ^ @near@.
-  -> GLdouble -- ^ @far@.
-  -> m ()
-glDepthRange v1 v2 = liftIO $ dyn220 ptr_glDepthRange v1 v2
-
-{-# NOINLINE ptr_glDepthRange #-}
-ptr_glDepthRange :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glDepthRange = unsafePerformIO $ getCommand "glDepthRange"
-
--- glDepthRangeArrayfvNV -------------------------------------------------------
-
-glDepthRangeArrayfvNV
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glDepthRangeArrayfvNV v1 v2 v3 = liftIO $ dyn221 ptr_glDepthRangeArrayfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glDepthRangeArrayfvNV #-}
-ptr_glDepthRangeArrayfvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glDepthRangeArrayfvNV = unsafePerformIO $ getCommand "glDepthRangeArrayfvNV"
 
diff --git a/src/Graphics/GL/Functions/F06.hs b/src/Graphics/GL/Functions/F06.hs
--- a/src/Graphics/GL/Functions/F06.hs
+++ b/src/Graphics/GL/Functions/F06.hs
@@ -15,6 +15,8 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F06 (
+  glDepthRange,
+  glDepthRangeArrayfvNV,
   glDepthRangeArrayfvOES,
   glDepthRangeArrayv,
   glDepthRangeIndexed,
@@ -112,9 +114,7 @@
   glDrawTransformFeedbackInstanced,
   glDrawTransformFeedbackInstancedEXT,
   glDrawTransformFeedbackNV,
-  glDrawTransformFeedbackStream,
-  glDrawTransformFeedbackStreamInstanced,
-  glDrawVkImageNV
+  glDrawTransformFeedbackStream
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,34 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glDepthRange ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthRange.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml OpenGL 4.x>.
+glDepthRange
+  :: MonadIO m
+  => GLdouble -- ^ @near@.
+  -> GLdouble -- ^ @far@.
+  -> m ()
+glDepthRange v1 v2 = liftIO $ dyn221 ptr_glDepthRange v1 v2
+
+{-# NOINLINE ptr_glDepthRange #-}
+ptr_glDepthRange :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glDepthRange = unsafePerformIO $ getCommand "glDepthRange"
+
+-- glDepthRangeArrayfvNV -------------------------------------------------------
+
+glDepthRangeArrayfvNV
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glDepthRangeArrayfvNV v1 v2 v3 = liftIO $ dyn222 ptr_glDepthRangeArrayfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glDepthRangeArrayfvNV #-}
+ptr_glDepthRangeArrayfvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glDepthRangeArrayfvNV = unsafePerformIO $ getCommand "glDepthRangeArrayfvNV"
+
 -- glDepthRangeArrayfvOES ------------------------------------------------------
 
 glDepthRangeArrayfvOES
@@ -131,7 +159,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@.
   -> m ()
-glDepthRangeArrayfvOES v1 v2 v3 = liftIO $ dyn221 ptr_glDepthRangeArrayfvOES v1 v2 v3
+glDepthRangeArrayfvOES v1 v2 v3 = liftIO $ dyn222 ptr_glDepthRangeArrayfvOES v1 v2 v3
 
 {-# NOINLINE ptr_glDepthRangeArrayfvOES #-}
 ptr_glDepthRangeArrayfvOES :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -146,7 +174,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLdouble@.
   -> m ()
-glDepthRangeArrayv v1 v2 v3 = liftIO $ dyn222 ptr_glDepthRangeArrayv v1 v2 v3
+glDepthRangeArrayv v1 v2 v3 = liftIO $ dyn223 ptr_glDepthRangeArrayv v1 v2 v3
 
 {-# NOINLINE ptr_glDepthRangeArrayv #-}
 ptr_glDepthRangeArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -161,7 +189,7 @@
   -> GLdouble -- ^ @n@.
   -> GLdouble -- ^ @f@.
   -> m ()
-glDepthRangeIndexed v1 v2 v3 = liftIO $ dyn223 ptr_glDepthRangeIndexed v1 v2 v3
+glDepthRangeIndexed v1 v2 v3 = liftIO $ dyn224 ptr_glDepthRangeIndexed v1 v2 v3
 
 {-# NOINLINE ptr_glDepthRangeIndexed #-}
 ptr_glDepthRangeIndexed :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
@@ -175,7 +203,7 @@
   -> GLfloat -- ^ @n@.
   -> GLfloat -- ^ @f@.
   -> m ()
-glDepthRangeIndexedfNV v1 v2 v3 = liftIO $ dyn224 ptr_glDepthRangeIndexedfNV v1 v2 v3
+glDepthRangeIndexedfNV v1 v2 v3 = liftIO $ dyn225 ptr_glDepthRangeIndexedfNV v1 v2 v3
 
 {-# NOINLINE ptr_glDepthRangeIndexedfNV #-}
 ptr_glDepthRangeIndexedfNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
@@ -189,7 +217,7 @@
   -> GLfloat -- ^ @n@.
   -> GLfloat -- ^ @f@.
   -> m ()
-glDepthRangeIndexedfOES v1 v2 v3 = liftIO $ dyn224 ptr_glDepthRangeIndexedfOES v1 v2 v3
+glDepthRangeIndexedfOES v1 v2 v3 = liftIO $ dyn225 ptr_glDepthRangeIndexedfOES v1 v2 v3
 
 {-# NOINLINE ptr_glDepthRangeIndexedfOES #-}
 ptr_glDepthRangeIndexedfOES :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
@@ -202,7 +230,7 @@
   => GLdouble -- ^ @zNear@.
   -> GLdouble -- ^ @zFar@.
   -> m ()
-glDepthRangedNV v1 v2 = liftIO $ dyn220 ptr_glDepthRangedNV v1 v2
+glDepthRangedNV v1 v2 = liftIO $ dyn221 ptr_glDepthRangedNV v1 v2
 
 {-# NOINLINE ptr_glDepthRangedNV #-}
 ptr_glDepthRangedNV :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -216,7 +244,7 @@
   => GLfloat -- ^ @n@.
   -> GLfloat -- ^ @f@.
   -> m ()
-glDepthRangef v1 v2 = liftIO $ dyn225 ptr_glDepthRangef v1 v2
+glDepthRangef v1 v2 = liftIO $ dyn226 ptr_glDepthRangef v1 v2
 
 {-# NOINLINE ptr_glDepthRangef #-}
 ptr_glDepthRangef :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -230,7 +258,7 @@
   => GLclampf -- ^ @n@ of type @ClampedFloat32@.
   -> GLclampf -- ^ @f@ of type @ClampedFloat32@.
   -> m ()
-glDepthRangefOES v1 v2 = liftIO $ dyn226 ptr_glDepthRangefOES v1 v2
+glDepthRangefOES v1 v2 = liftIO $ dyn227 ptr_glDepthRangefOES v1 v2
 
 {-# NOINLINE ptr_glDepthRangefOES #-}
 ptr_glDepthRangefOES :: FunPtr (GLclampf -> GLclampf -> IO ())
@@ -243,7 +271,7 @@
   => GLfixed -- ^ @n@.
   -> GLfixed -- ^ @f@.
   -> m ()
-glDepthRangex v1 v2 = liftIO $ dyn227 ptr_glDepthRangex v1 v2
+glDepthRangex v1 v2 = liftIO $ dyn228 ptr_glDepthRangex v1 v2
 
 {-# NOINLINE ptr_glDepthRangex #-}
 ptr_glDepthRangex :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -256,7 +284,7 @@
   => GLfixed -- ^ @n@ of type @ClampedFixed@.
   -> GLfixed -- ^ @f@ of type @ClampedFixed@.
   -> m ()
-glDepthRangexOES v1 v2 = liftIO $ dyn227 ptr_glDepthRangexOES v1 v2
+glDepthRangexOES v1 v2 = liftIO $ dyn228 ptr_glDepthRangexOES v1 v2
 
 {-# NOINLINE ptr_glDepthRangexOES #-}
 ptr_glDepthRangexOES :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -298,7 +326,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
   -> m ()
-glDetailTexFuncSGIS v1 v2 v3 = liftIO $ dyn228 ptr_glDetailTexFuncSGIS v1 v2 v3
+glDetailTexFuncSGIS v1 v2 v3 = liftIO $ dyn229 ptr_glDetailTexFuncSGIS v1 v2 v3
 
 {-# NOINLINE ptr_glDetailTexFuncSGIS #-}
 ptr_glDetailTexFuncSGIS :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
@@ -373,7 +401,7 @@
 -- | This command is an alias for 'glDisablei'.
 glDisableIndexedEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glDisableIndexedEXT v1 v2 = liftIO $ dyn17 ptr_glDisableIndexedEXT v1 v2
@@ -478,7 +506,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
 glDisablei
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glDisablei v1 v2 = liftIO $ dyn17 ptr_glDisablei v1 v2
@@ -492,7 +520,7 @@
 -- | This command is an alias for 'glDisablei'.
 glDisableiEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glDisableiEXT v1 v2 = liftIO $ dyn17 ptr_glDisableiEXT v1 v2
@@ -506,7 +534,7 @@
 -- | This command is an alias for 'glDisablei'.
 glDisableiNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glDisableiNV v1 v2 = liftIO $ dyn17 ptr_glDisableiNV v1 v2
@@ -520,7 +548,7 @@
 -- | This command is an alias for 'glDisablei'.
 glDisableiOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glDisableiOES v1 v2 = liftIO $ dyn17 ptr_glDisableiOES v1 v2
@@ -537,7 +565,7 @@
   -> GLsizei -- ^ @numAttachments@.
   -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
   -> m ()
-glDiscardFramebufferEXT v1 v2 v3 = liftIO $ dyn229 ptr_glDiscardFramebufferEXT v1 v2 v3
+glDiscardFramebufferEXT v1 v2 v3 = liftIO $ dyn230 ptr_glDiscardFramebufferEXT v1 v2 v3
 
 {-# NOINLINE ptr_glDiscardFramebufferEXT #-}
 ptr_glDiscardFramebufferEXT :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
@@ -569,7 +597,7 @@
   -> GLuint -- ^ @group_size_y@.
   -> GLuint -- ^ @group_size_z@.
   -> m ()
-glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn230 ptr_glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6
+glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn231 ptr_glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDispatchComputeGroupSizeARB #-}
 ptr_glDispatchComputeGroupSizeARB :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -582,7 +610,7 @@
   :: MonadIO m
   => GLintptr -- ^ @indirect@ of type @BufferOffset@.
   -> m ()
-glDispatchComputeIndirect v1 = liftIO $ dyn231 ptr_glDispatchComputeIndirect v1
+glDispatchComputeIndirect v1 = liftIO $ dyn232 ptr_glDispatchComputeIndirect v1
 
 {-# NOINLINE ptr_glDispatchComputeIndirect #-}
 ptr_glDispatchComputeIndirect :: FunPtr (GLintptr -> IO ())
@@ -597,7 +625,7 @@
   -> GLint -- ^ @first@.
   -> GLsizei -- ^ @count@.
   -> m ()
-glDrawArrays v1 v2 v3 = liftIO $ dyn232 ptr_glDrawArrays v1 v2 v3
+glDrawArrays v1 v2 v3 = liftIO $ dyn233 ptr_glDrawArrays v1 v2 v3
 
 {-# NOINLINE ptr_glDrawArrays #-}
 ptr_glDrawArrays :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
@@ -612,7 +640,7 @@
   -> GLint -- ^ @first@.
   -> GLsizei -- ^ @count@.
   -> m ()
-glDrawArraysEXT v1 v2 v3 = liftIO $ dyn232 ptr_glDrawArraysEXT v1 v2 v3
+glDrawArraysEXT v1 v2 v3 = liftIO $ dyn233 ptr_glDrawArraysEXT v1 v2 v3
 
 {-# NOINLINE ptr_glDrawArraysEXT #-}
 ptr_glDrawArraysEXT :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
@@ -626,7 +654,7 @@
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> Ptr a -- ^ @indirect@.
   -> m ()
-glDrawArraysIndirect v1 v2 = liftIO $ dyn233 ptr_glDrawArraysIndirect v1 v2
+glDrawArraysIndirect v1 v2 = liftIO $ dyn234 ptr_glDrawArraysIndirect v1 v2
 
 {-# NOINLINE ptr_glDrawArraysIndirect #-}
 ptr_glDrawArraysIndirect :: FunPtr (GLenum -> Ptr a -> IO ())
@@ -642,7 +670,7 @@
   -> GLsizei -- ^ @count@.
   -> GLsizei -- ^ @instancecount@.
   -> m ()
-glDrawArraysInstanced v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawArraysInstanced v1 v2 v3 v4
+glDrawArraysInstanced v1 v2 v3 v4 = liftIO $ dyn235 ptr_glDrawArraysInstanced v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawArraysInstanced #-}
 ptr_glDrawArraysInstanced :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -658,7 +686,7 @@
   -> GLsizei -- ^ @count@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawArraysInstancedANGLE v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawArraysInstancedANGLE v1 v2 v3 v4
+glDrawArraysInstancedANGLE v1 v2 v3 v4 = liftIO $ dyn235 ptr_glDrawArraysInstancedANGLE v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawArraysInstancedANGLE #-}
 ptr_glDrawArraysInstancedANGLE :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -674,7 +702,7 @@
   -> GLsizei -- ^ @count@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawArraysInstancedARB v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawArraysInstancedARB v1 v2 v3 v4
+glDrawArraysInstancedARB v1 v2 v3 v4 = liftIO $ dyn235 ptr_glDrawArraysInstancedARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawArraysInstancedARB #-}
 ptr_glDrawArraysInstancedARB :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -691,7 +719,7 @@
   -> GLsizei -- ^ @instancecount@.
   -> GLuint -- ^ @baseinstance@.
   -> m ()
-glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5 = liftIO $ dyn235 ptr_glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5
+glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5 = liftIO $ dyn236 ptr_glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawArraysInstancedBaseInstance #-}
 ptr_glDrawArraysInstancedBaseInstance :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
@@ -708,7 +736,7 @@
   -> GLsizei -- ^ @instancecount@.
   -> GLuint -- ^ @baseinstance@.
   -> m ()
-glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5 = liftIO $ dyn235 ptr_glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5
+glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5 = liftIO $ dyn236 ptr_glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawArraysInstancedBaseInstanceEXT #-}
 ptr_glDrawArraysInstancedBaseInstanceEXT :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
@@ -724,7 +752,7 @@
   -> GLsizei -- ^ @count@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawArraysInstancedEXT v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawArraysInstancedEXT v1 v2 v3 v4
+glDrawArraysInstancedEXT v1 v2 v3 v4 = liftIO $ dyn235 ptr_glDrawArraysInstancedEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawArraysInstancedEXT #-}
 ptr_glDrawArraysInstancedEXT :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -740,7 +768,7 @@
   -> GLsizei -- ^ @count@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawArraysInstancedNV v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawArraysInstancedNV v1 v2 v3 v4
+glDrawArraysInstancedNV v1 v2 v3 v4 = liftIO $ dyn235 ptr_glDrawArraysInstancedNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawArraysInstancedNV #-}
 ptr_glDrawArraysInstancedNV :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -767,7 +795,7 @@
   => GLsizei -- ^ @n@.
   -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
   -> m ()
-glDrawBuffers v1 v2 = liftIO $ dyn236 ptr_glDrawBuffers v1 v2
+glDrawBuffers v1 v2 = liftIO $ dyn237 ptr_glDrawBuffers v1 v2
 
 {-# NOINLINE ptr_glDrawBuffers #-}
 ptr_glDrawBuffers :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
@@ -781,7 +809,7 @@
   => GLsizei -- ^ @n@.
   -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
   -> m ()
-glDrawBuffersARB v1 v2 = liftIO $ dyn236 ptr_glDrawBuffersARB v1 v2
+glDrawBuffersARB v1 v2 = liftIO $ dyn237 ptr_glDrawBuffersARB v1 v2
 
 {-# NOINLINE ptr_glDrawBuffersARB #-}
 ptr_glDrawBuffersARB :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
@@ -795,7 +823,7 @@
   => GLsizei -- ^ @n@.
   -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
   -> m ()
-glDrawBuffersATI v1 v2 = liftIO $ dyn236 ptr_glDrawBuffersATI v1 v2
+glDrawBuffersATI v1 v2 = liftIO $ dyn237 ptr_glDrawBuffersATI v1 v2
 
 {-# NOINLINE ptr_glDrawBuffersATI #-}
 ptr_glDrawBuffersATI :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
@@ -807,9 +835,9 @@
 glDrawBuffersEXT
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@.
+  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @GLenum@.
   -> m ()
-glDrawBuffersEXT v1 v2 = liftIO $ dyn236 ptr_glDrawBuffersEXT v1 v2
+glDrawBuffersEXT v1 v2 = liftIO $ dyn237 ptr_glDrawBuffersEXT v1 v2
 
 {-# NOINLINE ptr_glDrawBuffersEXT #-}
 ptr_glDrawBuffersEXT :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
@@ -823,7 +851,7 @@
   -> Ptr GLenum -- ^ @location@ pointing to @n@ elements of type @GLenum@.
   -> Ptr GLint -- ^ @indices@ pointing to @n@ elements of type @GLint@.
   -> m ()
-glDrawBuffersIndexedEXT v1 v2 v3 = liftIO $ dyn237 ptr_glDrawBuffersIndexedEXT v1 v2 v3
+glDrawBuffersIndexedEXT v1 v2 v3 = liftIO $ dyn238 ptr_glDrawBuffersIndexedEXT v1 v2 v3
 
 {-# NOINLINE ptr_glDrawBuffersIndexedEXT #-}
 ptr_glDrawBuffersIndexedEXT :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ())
@@ -836,7 +864,7 @@
   => GLsizei -- ^ @n@.
   -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @GLenum@.
   -> m ()
-glDrawBuffersNV v1 v2 = liftIO $ dyn236 ptr_glDrawBuffersNV v1 v2
+glDrawBuffersNV v1 v2 = liftIO $ dyn237 ptr_glDrawBuffersNV v1 v2
 
 {-# NOINLINE ptr_glDrawBuffersNV #-}
 ptr_glDrawBuffersNV :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
@@ -851,7 +879,7 @@
   -> Ptr GLsizei -- ^ @sizes@.
   -> GLuint -- ^ @count@.
   -> m ()
-glDrawCommandsAddressNV v1 v2 v3 v4 = liftIO $ dyn238 ptr_glDrawCommandsAddressNV v1 v2 v3 v4
+glDrawCommandsAddressNV v1 v2 v3 v4 = liftIO $ dyn239 ptr_glDrawCommandsAddressNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawCommandsAddressNV #-}
 ptr_glDrawCommandsAddressNV :: FunPtr (GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ())
@@ -867,7 +895,7 @@
   -> Ptr GLsizei -- ^ @sizes@.
   -> GLuint -- ^ @count@.
   -> m ()
-glDrawCommandsNV v1 v2 v3 v4 v5 = liftIO $ dyn239 ptr_glDrawCommandsNV v1 v2 v3 v4 v5
+glDrawCommandsNV v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawCommandsNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawCommandsNV #-}
 ptr_glDrawCommandsNV :: FunPtr (GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ())
@@ -883,7 +911,7 @@
   -> Ptr GLuint -- ^ @fbos@.
   -> GLuint -- ^ @count@.
   -> m ()
-glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5
+glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5 = liftIO $ dyn241 ptr_glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawCommandsStatesAddressNV #-}
 ptr_glDrawCommandsStatesAddressNV :: FunPtr (Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
@@ -900,7 +928,7 @@
   -> Ptr GLuint -- ^ @fbos@.
   -> GLuint -- ^ @count@.
   -> m ()
-glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn241 ptr_glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6
+glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn242 ptr_glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawCommandsStatesNV #-}
 ptr_glDrawCommandsStatesNV :: FunPtr (GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
@@ -914,7 +942,7 @@
   -> GLint -- ^ @first@.
   -> GLsizei -- ^ @count@.
   -> m ()
-glDrawElementArrayAPPLE v1 v2 v3 = liftIO $ dyn232 ptr_glDrawElementArrayAPPLE v1 v2 v3
+glDrawElementArrayAPPLE v1 v2 v3 = liftIO $ dyn233 ptr_glDrawElementArrayAPPLE v1 v2 v3
 
 {-# NOINLINE ptr_glDrawElementArrayAPPLE #-}
 ptr_glDrawElementArrayAPPLE :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
@@ -927,7 +955,7 @@
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> GLsizei -- ^ @count@.
   -> m ()
-glDrawElementArrayATI v1 v2 = liftIO $ dyn242 ptr_glDrawElementArrayATI v1 v2
+glDrawElementArrayATI v1 v2 = liftIO $ dyn243 ptr_glDrawElementArrayATI v1 v2
 
 {-# NOINLINE ptr_glDrawElementArrayATI #-}
 ptr_glDrawElementArrayATI :: FunPtr (GLenum -> GLsizei -> IO ())
@@ -943,7 +971,7 @@
   -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> m ()
-glDrawElements v1 v2 v3 v4 = liftIO $ dyn243 ptr_glDrawElements v1 v2 v3 v4
+glDrawElements v1 v2 v3 v4 = liftIO $ dyn244 ptr_glDrawElements v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawElements #-}
 ptr_glDrawElements :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
@@ -960,7 +988,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawElementsBaseVertex v1 v2 v3 v4 v5 = liftIO $ dyn244 ptr_glDrawElementsBaseVertex v1 v2 v3 v4 v5
+glDrawElementsBaseVertex v1 v2 v3 v4 v5 = liftIO $ dyn245 ptr_glDrawElementsBaseVertex v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsBaseVertex #-}
 ptr_glDrawElementsBaseVertex :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
@@ -977,7 +1005,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 = liftIO $ dyn244 ptr_glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5
+glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 = liftIO $ dyn245 ptr_glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsBaseVertexEXT #-}
 ptr_glDrawElementsBaseVertexEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
@@ -994,7 +1022,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawElementsBaseVertexOES v1 v2 v3 v4 v5 = liftIO $ dyn244 ptr_glDrawElementsBaseVertexOES v1 v2 v3 v4 v5
+glDrawElementsBaseVertexOES v1 v2 v3 v4 v5 = liftIO $ dyn245 ptr_glDrawElementsBaseVertexOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsBaseVertexOES #-}
 ptr_glDrawElementsBaseVertexOES :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
@@ -1006,10 +1034,10 @@
 glDrawElementsIndirect
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indirect@.
   -> m ()
-glDrawElementsIndirect v1 v2 v3 = liftIO $ dyn245 ptr_glDrawElementsIndirect v1 v2 v3
+glDrawElementsIndirect v1 v2 v3 = liftIO $ dyn246 ptr_glDrawElementsIndirect v1 v2 v3
 
 {-# NOINLINE ptr_glDrawElementsIndirect #-}
 ptr_glDrawElementsIndirect :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
@@ -1026,7 +1054,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLsizei -- ^ @instancecount@.
   -> m ()
-glDrawElementsInstanced v1 v2 v3 v4 v5 = liftIO $ dyn246 ptr_glDrawElementsInstanced v1 v2 v3 v4 v5
+glDrawElementsInstanced v1 v2 v3 v4 v5 = liftIO $ dyn247 ptr_glDrawElementsInstanced v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsInstanced #-}
 ptr_glDrawElementsInstanced :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
@@ -1039,11 +1067,11 @@
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawElementsInstancedANGLE v1 v2 v3 v4 v5 = liftIO $ dyn246 ptr_glDrawElementsInstancedANGLE v1 v2 v3 v4 v5
+glDrawElementsInstancedANGLE v1 v2 v3 v4 v5 = liftIO $ dyn247 ptr_glDrawElementsInstancedANGLE v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsInstancedANGLE #-}
 ptr_glDrawElementsInstancedANGLE :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
@@ -1060,7 +1088,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawElementsInstancedARB v1 v2 v3 v4 v5 = liftIO $ dyn246 ptr_glDrawElementsInstancedARB v1 v2 v3 v4 v5
+glDrawElementsInstancedARB v1 v2 v3 v4 v5 = liftIO $ dyn247 ptr_glDrawElementsInstancedARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsInstancedARB #-}
 ptr_glDrawElementsInstancedARB :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
@@ -1073,12 +1101,12 @@
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
   -> GLsizei -- ^ @instancecount@.
   -> GLuint -- ^ @baseinstance@.
   -> m ()
-glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6 = liftIO $ dyn247 ptr_glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6
+glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6 = liftIO $ dyn248 ptr_glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawElementsInstancedBaseInstance #-}
 ptr_glDrawElementsInstancedBaseInstance :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
@@ -1091,12 +1119,12 @@
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
   -> GLsizei -- ^ @instancecount@.
   -> GLuint -- ^ @baseinstance@.
   -> m ()
-glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn247 ptr_glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6
+glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn248 ptr_glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawElementsInstancedBaseInstanceEXT #-}
 ptr_glDrawElementsInstancedBaseInstanceEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
@@ -1114,7 +1142,7 @@
   -> GLsizei -- ^ @instancecount@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn248 ptr_glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6
+glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn249 ptr_glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawElementsInstancedBaseVertex #-}
 ptr_glDrawElementsInstancedBaseVertex :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
@@ -1127,13 +1155,13 @@
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
   -> GLsizei -- ^ @instancecount@.
   -> GLint -- ^ @basevertex@.
   -> GLuint -- ^ @baseinstance@.
   -> m ()
-glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn249 ptr_glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7
+glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glDrawElementsInstancedBaseVertexBaseInstance #-}
 ptr_glDrawElementsInstancedBaseVertexBaseInstance :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
@@ -1146,13 +1174,13 @@
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
   -> GLsizei -- ^ @instancecount@.
   -> GLint -- ^ @basevertex@.
   -> GLuint -- ^ @baseinstance@.
   -> m ()
-glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn249 ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7
+glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT #-}
 ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
@@ -1170,7 +1198,7 @@
   -> GLsizei -- ^ @instancecount@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn248 ptr_glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6
+glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn249 ptr_glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawElementsInstancedBaseVertexEXT #-}
 ptr_glDrawElementsInstancedBaseVertexEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
@@ -1188,7 +1216,7 @@
   -> GLsizei -- ^ @instancecount@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn248 ptr_glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6
+glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn249 ptr_glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawElementsInstancedBaseVertexOES #-}
 ptr_glDrawElementsInstancedBaseVertexOES :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
@@ -1205,7 +1233,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawElementsInstancedEXT v1 v2 v3 v4 v5 = liftIO $ dyn246 ptr_glDrawElementsInstancedEXT v1 v2 v3 v4 v5
+glDrawElementsInstancedEXT v1 v2 v3 v4 v5 = liftIO $ dyn247 ptr_glDrawElementsInstancedEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsInstancedEXT #-}
 ptr_glDrawElementsInstancedEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
@@ -1218,11 +1246,11 @@
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLsizei -- ^ @primcount@.
   -> m ()
-glDrawElementsInstancedNV v1 v2 v3 v4 v5 = liftIO $ dyn246 ptr_glDrawElementsInstancedNV v1 v2 v3 v4 v5
+glDrawElementsInstancedNV v1 v2 v3 v4 v5 = liftIO $ dyn247 ptr_glDrawElementsInstancedNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawElementsInstancedNV #-}
 ptr_glDrawElementsInstancedNV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
@@ -1237,7 +1265,7 @@
   -> GLsizei -- ^ @count@.
   -> GLsizei -- ^ @width@.
   -> m ()
-glDrawMeshArraysSUN v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawMeshArraysSUN v1 v2 v3 v4
+glDrawMeshArraysSUN v1 v2 v3 v4 = liftIO $ dyn235 ptr_glDrawMeshArraysSUN v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawMeshArraysSUN #-}
 ptr_glDrawMeshArraysSUN :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -1254,7 +1282,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
   -> m ()
-glDrawPixels v1 v2 v3 v4 v5 = liftIO $ dyn250 ptr_glDrawPixels v1 v2 v3 v4 v5
+glDrawPixels v1 v2 v3 v4 v5 = liftIO $ dyn251 ptr_glDrawPixels v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawPixels #-}
 ptr_glDrawPixels :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1270,7 +1298,7 @@
   -> GLint -- ^ @first@.
   -> GLsizei -- ^ @count@.
   -> m ()
-glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn251 ptr_glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5
+glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn252 ptr_glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawRangeElementArrayAPPLE #-}
 ptr_glDrawRangeElementArrayAPPLE :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
@@ -1285,7 +1313,7 @@
   -> GLuint -- ^ @end@.
   -> GLsizei -- ^ @count@.
   -> m ()
-glDrawRangeElementArrayATI v1 v2 v3 v4 = liftIO $ dyn252 ptr_glDrawRangeElementArrayATI v1 v2 v3 v4
+glDrawRangeElementArrayATI v1 v2 v3 v4 = liftIO $ dyn253 ptr_glDrawRangeElementArrayATI v1 v2 v3 v4
 
 {-# NOINLINE ptr_glDrawRangeElementArrayATI #-}
 ptr_glDrawRangeElementArrayATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
@@ -1303,7 +1331,7 @@
   -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> m ()
-glDrawRangeElements v1 v2 v3 v4 v5 v6 = liftIO $ dyn253 ptr_glDrawRangeElements v1 v2 v3 v4 v5 v6
+glDrawRangeElements v1 v2 v3 v4 v5 v6 = liftIO $ dyn254 ptr_glDrawRangeElements v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawRangeElements #-}
 ptr_glDrawRangeElements :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
@@ -1322,7 +1350,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn254 ptr_glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7
+glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn255 ptr_glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glDrawRangeElementsBaseVertex #-}
 ptr_glDrawRangeElementsBaseVertex :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
@@ -1341,7 +1369,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn254 ptr_glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7
+glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn255 ptr_glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glDrawRangeElementsBaseVertexEXT #-}
 ptr_glDrawRangeElementsBaseVertexEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
@@ -1360,7 +1388,7 @@
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> GLint -- ^ @basevertex@.
   -> m ()
-glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn254 ptr_glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7
+glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn255 ptr_glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glDrawRangeElementsBaseVertexOES #-}
 ptr_glDrawRangeElementsBaseVertexOES :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
@@ -1378,7 +1406,7 @@
   -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
   -> m ()
-glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn253 ptr_glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6
+glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn254 ptr_glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glDrawRangeElementsEXT #-}
 ptr_glDrawRangeElementsEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
@@ -1394,7 +1422,7 @@
   -> GLfloat -- ^ @width@.
   -> GLfloat -- ^ @height@.
   -> m ()
-glDrawTexfOES v1 v2 v3 v4 v5 = liftIO $ dyn255 ptr_glDrawTexfOES v1 v2 v3 v4 v5
+glDrawTexfOES v1 v2 v3 v4 v5 = liftIO $ dyn256 ptr_glDrawTexfOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawTexfOES #-}
 ptr_glDrawTexfOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -1422,7 +1450,7 @@
   -> GLint -- ^ @width@.
   -> GLint -- ^ @height@.
   -> m ()
-glDrawTexiOES v1 v2 v3 v4 v5 = liftIO $ dyn256 ptr_glDrawTexiOES v1 v2 v3 v4 v5
+glDrawTexiOES v1 v2 v3 v4 v5 = liftIO $ dyn257 ptr_glDrawTexiOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawTexiOES #-}
 ptr_glDrawTexiOES :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
@@ -1450,7 +1478,7 @@
   -> GLshort -- ^ @width@.
   -> GLshort -- ^ @height@.
   -> m ()
-glDrawTexsOES v1 v2 v3 v4 v5 = liftIO $ dyn257 ptr_glDrawTexsOES v1 v2 v3 v4 v5
+glDrawTexsOES v1 v2 v3 v4 v5 = liftIO $ dyn258 ptr_glDrawTexsOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawTexsOES #-}
 ptr_glDrawTexsOES :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
@@ -1484,7 +1512,7 @@
   -> GLfloat -- ^ @s1@.
   -> GLfloat -- ^ @t1@.
   -> m ()
-glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn258 ptr_glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn259 ptr_glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glDrawTextureNV #-}
 ptr_glDrawTextureNV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -1500,7 +1528,7 @@
   -> GLfixed -- ^ @width@.
   -> GLfixed -- ^ @height@.
   -> m ()
-glDrawTexxOES v1 v2 v3 v4 v5 = liftIO $ dyn259 ptr_glDrawTexxOES v1 v2 v3 v4 v5
+glDrawTexxOES v1 v2 v3 v4 v5 = liftIO $ dyn260 ptr_glDrawTexxOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glDrawTexxOES #-}
 ptr_glDrawTexxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
@@ -1555,7 +1583,7 @@
   -> GLuint -- ^ @id@.
   -> GLsizei -- ^ @instancecount@.
   -> m ()
-glDrawTransformFeedbackInstanced v1 v2 v3 = liftIO $ dyn260 ptr_glDrawTransformFeedbackInstanced v1 v2 v3
+glDrawTransformFeedbackInstanced v1 v2 v3 = liftIO $ dyn261 ptr_glDrawTransformFeedbackInstanced v1 v2 v3
 
 {-# NOINLINE ptr_glDrawTransformFeedbackInstanced #-}
 ptr_glDrawTransformFeedbackInstanced :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
@@ -1570,7 +1598,7 @@
   -> GLuint -- ^ @id@.
   -> GLsizei -- ^ @instancecount@.
   -> m ()
-glDrawTransformFeedbackInstancedEXT v1 v2 v3 = liftIO $ dyn260 ptr_glDrawTransformFeedbackInstancedEXT v1 v2 v3
+glDrawTransformFeedbackInstancedEXT v1 v2 v3 = liftIO $ dyn261 ptr_glDrawTransformFeedbackInstancedEXT v1 v2 v3
 
 {-# NOINLINE ptr_glDrawTransformFeedbackInstancedEXT #-}
 ptr_glDrawTransformFeedbackInstancedEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
@@ -1604,42 +1632,4 @@
 {-# NOINLINE ptr_glDrawTransformFeedbackStream #-}
 ptr_glDrawTransformFeedbackStream :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
 ptr_glDrawTransformFeedbackStream = unsafePerformIO $ getCommand "glDrawTransformFeedbackStream"
-
--- glDrawTransformFeedbackStreamInstanced --------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStreamInstanced.xhtml OpenGL 4.x>.
-glDrawTransformFeedbackStreamInstanced
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @id@.
-  -> GLuint -- ^ @stream@.
-  -> GLsizei -- ^ @instancecount@.
-  -> m ()
-glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4 = liftIO $ dyn252 ptr_glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawTransformFeedbackStreamInstanced #-}
-ptr_glDrawTransformFeedbackStreamInstanced :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
-ptr_glDrawTransformFeedbackStreamInstanced = unsafePerformIO $ getCommand "glDrawTransformFeedbackStreamInstanced"
-
--- glDrawVkImageNV -------------------------------------------------------------
-
-glDrawVkImageNV
-  :: MonadIO m
-  => GLuint64 -- ^ @vkImage@.
-  -> GLuint -- ^ @sampler@.
-  -> GLfloat -- ^ @x0@.
-  -> GLfloat -- ^ @y0@.
-  -> GLfloat -- ^ @x1@.
-  -> GLfloat -- ^ @y1@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @s0@.
-  -> GLfloat -- ^ @t0@.
-  -> GLfloat -- ^ @s1@.
-  -> GLfloat -- ^ @t1@.
-  -> m ()
-glDrawVkImageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn261 ptr_glDrawVkImageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glDrawVkImageNV #-}
-ptr_glDrawVkImageNV :: FunPtr (GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glDrawVkImageNV = unsafePerformIO $ getCommand "glDrawVkImageNV"
 
diff --git a/src/Graphics/GL/Functions/F07.hs b/src/Graphics/GL/Functions/F07.hs
--- a/src/Graphics/GL/Functions/F07.hs
+++ b/src/Graphics/GL/Functions/F07.hs
@@ -15,6 +15,8 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F07 (
+  glDrawTransformFeedbackStreamInstanced,
+  glDrawVkImageNV,
   glEGLImageTargetRenderbufferStorageOES,
   glEGLImageTargetTexture2DOES,
   glEdgeFlag,
@@ -112,9 +114,7 @@
   glFlushMappedNamedBufferRangeEXT,
   glFlushPixelDataRangeNV,
   glFlushRasterSGIX,
-  glFlushStaticDataIBM,
-  glFlushVertexArrayRangeAPPLE,
-  glFlushVertexArrayRangeNV
+  glFlushStaticDataIBM
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,44 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glDrawTransformFeedbackStreamInstanced --------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStreamInstanced.xhtml OpenGL 4.x>.
+glDrawTransformFeedbackStreamInstanced
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @id@.
+  -> GLuint -- ^ @stream@.
+  -> GLsizei -- ^ @instancecount@.
+  -> m ()
+glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4 = liftIO $ dyn253 ptr_glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawTransformFeedbackStreamInstanced #-}
+ptr_glDrawTransformFeedbackStreamInstanced :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
+ptr_glDrawTransformFeedbackStreamInstanced = unsafePerformIO $ getCommand "glDrawTransformFeedbackStreamInstanced"
+
+-- glDrawVkImageNV -------------------------------------------------------------
+
+glDrawVkImageNV
+  :: MonadIO m
+  => GLuint64 -- ^ @vkImage@.
+  -> GLuint -- ^ @sampler@.
+  -> GLfloat -- ^ @x0@.
+  -> GLfloat -- ^ @y0@.
+  -> GLfloat -- ^ @x1@.
+  -> GLfloat -- ^ @y1@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @s0@.
+  -> GLfloat -- ^ @t0@.
+  -> GLfloat -- ^ @s1@.
+  -> GLfloat -- ^ @t1@.
+  -> m ()
+glDrawVkImageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn262 ptr_glDrawVkImageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glDrawVkImageNV #-}
+ptr_glDrawVkImageNV :: FunPtr (GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glDrawVkImageNV = unsafePerformIO $ getCommand "glDrawVkImageNV"
+
 -- glEGLImageTargetRenderbufferStorageOES --------------------------------------
 
 glEGLImageTargetRenderbufferStorageOES
@@ -130,7 +168,7 @@
   => GLenum -- ^ @target@.
   -> GLeglImageOES -- ^ @image@.
   -> m ()
-glEGLImageTargetRenderbufferStorageOES v1 v2 = liftIO $ dyn262 ptr_glEGLImageTargetRenderbufferStorageOES v1 v2
+glEGLImageTargetRenderbufferStorageOES v1 v2 = liftIO $ dyn263 ptr_glEGLImageTargetRenderbufferStorageOES v1 v2
 
 {-# NOINLINE ptr_glEGLImageTargetRenderbufferStorageOES #-}
 ptr_glEGLImageTargetRenderbufferStorageOES :: FunPtr (GLenum -> GLeglImageOES -> IO ())
@@ -143,7 +181,7 @@
   => GLenum -- ^ @target@.
   -> GLeglImageOES -- ^ @image@.
   -> m ()
-glEGLImageTargetTexture2DOES v1 v2 = liftIO $ dyn262 ptr_glEGLImageTargetTexture2DOES v1 v2
+glEGLImageTargetTexture2DOES v1 v2 = liftIO $ dyn263 ptr_glEGLImageTargetTexture2DOES v1 v2
 
 {-# NOINLINE ptr_glEGLImageTargetTexture2DOES #-}
 ptr_glEGLImageTargetTexture2DOES :: FunPtr (GLenum -> GLeglImageOES -> IO ())
@@ -168,7 +206,7 @@
   :: MonadIO m
   => GLsizei -- ^ @stride@.
   -> m ()
-glEdgeFlagFormatNV v1 = liftIO $ dyn263 ptr_glEdgeFlagFormatNV v1
+glEdgeFlagFormatNV v1 = liftIO $ dyn264 ptr_glEdgeFlagFormatNV v1
 
 {-# NOINLINE ptr_glEdgeFlagFormatNV #-}
 ptr_glEdgeFlagFormatNV :: FunPtr (GLsizei -> IO ())
@@ -182,7 +220,7 @@
   => GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @a@.
   -> m ()
-glEdgeFlagPointer v1 v2 = liftIO $ dyn264 ptr_glEdgeFlagPointer v1 v2
+glEdgeFlagPointer v1 v2 = liftIO $ dyn265 ptr_glEdgeFlagPointer v1 v2
 
 {-# NOINLINE ptr_glEdgeFlagPointer #-}
 ptr_glEdgeFlagPointer :: FunPtr (GLsizei -> Ptr a -> IO ())
@@ -196,7 +234,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLboolean -- ^ @pointer@ pointing to @COMPSIZE(stride,count)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glEdgeFlagPointerEXT v1 v2 v3 = liftIO $ dyn265 ptr_glEdgeFlagPointerEXT v1 v2 v3
+glEdgeFlagPointerEXT v1 v2 v3 = liftIO $ dyn266 ptr_glEdgeFlagPointerEXT v1 v2 v3
 
 {-# NOINLINE ptr_glEdgeFlagPointerEXT #-}
 ptr_glEdgeFlagPointerEXT :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
@@ -210,7 +248,7 @@
   -> Ptr (Ptr GLboolean) -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @Ptr BooleanPointer@.
   -> GLint -- ^ @ptrstride@.
   -> m ()
-glEdgeFlagPointerListIBM v1 v2 v3 = liftIO $ dyn266 ptr_glEdgeFlagPointerListIBM v1 v2 v3
+glEdgeFlagPointerListIBM v1 v2 v3 = liftIO $ dyn267 ptr_glEdgeFlagPointerListIBM v1 v2 v3
 
 {-# NOINLINE ptr_glEdgeFlagPointerListIBM #-}
 ptr_glEdgeFlagPointerListIBM :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ())
@@ -223,7 +261,7 @@
   :: MonadIO m
   => Ptr GLboolean -- ^ @flag@ pointing to @1@ element of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glEdgeFlagv v1 = liftIO $ dyn267 ptr_glEdgeFlagv v1
+glEdgeFlagv v1 = liftIO $ dyn268 ptr_glEdgeFlagv v1
 
 {-# NOINLINE ptr_glEdgeFlagv #-}
 ptr_glEdgeFlagv :: FunPtr (Ptr GLboolean -> IO ())
@@ -236,7 +274,7 @@
   => GLenum -- ^ @type@ of type @ElementPointerTypeATI@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
   -> m ()
-glElementPointerAPPLE v1 v2 = liftIO $ dyn233 ptr_glElementPointerAPPLE v1 v2
+glElementPointerAPPLE v1 v2 = liftIO $ dyn234 ptr_glElementPointerAPPLE v1 v2
 
 {-# NOINLINE ptr_glElementPointerAPPLE #-}
 ptr_glElementPointerAPPLE :: FunPtr (GLenum -> Ptr a -> IO ())
@@ -249,7 +287,7 @@
   => GLenum -- ^ @type@ of type @ElementPointerTypeATI@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
   -> m ()
-glElementPointerATI v1 v2 = liftIO $ dyn233 ptr_glElementPointerATI v1 v2
+glElementPointerATI v1 v2 = liftIO $ dyn234 ptr_glElementPointerATI v1 v2
 
 {-# NOINLINE ptr_glElementPointerATI #-}
 ptr_glElementPointerATI :: FunPtr (GLenum -> Ptr a -> IO ())
@@ -324,7 +362,7 @@
 -- | This command is an alias for 'glEnablei'.
 glEnableIndexedEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glEnableIndexedEXT v1 v2 = liftIO $ dyn17 ptr_glEnableIndexedEXT v1 v2
@@ -429,7 +467,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
 glEnablei
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glEnablei v1 v2 = liftIO $ dyn17 ptr_glEnablei v1 v2
@@ -443,7 +481,7 @@
 -- | This command is an alias for 'glEnablei'.
 glEnableiEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glEnableiEXT v1 v2 = liftIO $ dyn17 ptr_glEnableiEXT v1 v2
@@ -457,7 +495,7 @@
 -- | This command is an alias for 'glEnablei'.
 glEnableiNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glEnableiNV v1 v2 = liftIO $ dyn17 ptr_glEnableiNV v1 v2
@@ -471,7 +509,7 @@
 -- | This command is an alias for 'glEnablei'.
 glEnableiOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m ()
 glEnableiOES v1 v2 = liftIO $ dyn17 ptr_glEnableiOES v1 v2
@@ -591,7 +629,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBeginQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml OpenGL 4.x>.
 glEndQuery
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> m ()
 glEndQuery v1 = liftIO $ dyn5 ptr_glEndQuery v1
 
@@ -604,7 +642,7 @@
 -- | This command is an alias for 'glEndQuery'.
 glEndQueryARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> m ()
 glEndQueryARB v1 = liftIO $ dyn5 ptr_glEndQueryARB v1
 
@@ -616,7 +654,7 @@
 
 glEndQueryEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> m ()
 glEndQueryEXT v1 = liftIO $ dyn5 ptr_glEndQueryEXT v1
 
@@ -629,7 +667,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
 glEndQueryIndexed
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> GLuint -- ^ @index@.
   -> m ()
 glEndQueryIndexed v1 v2 = liftIO $ dyn17 ptr_glEndQueryIndexed v1 v2
@@ -642,7 +680,7 @@
 
 glEndTilingQCOM
   :: MonadIO m
-  => GLbitfield -- ^ @preserveMask@.
+  => GLbitfield -- ^ @preserveMask@ of type [BufferBitQCOM](Graphics-GL-Groups.html#BufferBitQCOM).
   -> m ()
 glEndTilingQCOM v1 = liftIO $ dyn72 ptr_glEndTilingQCOM v1
 
@@ -793,7 +831,7 @@
   => GLdouble -- ^ @u@ of type @CoordD@.
   -> GLdouble -- ^ @v@ of type @CoordD@.
   -> m ()
-glEvalCoord2d v1 v2 = liftIO $ dyn220 ptr_glEvalCoord2d v1 v2
+glEvalCoord2d v1 v2 = liftIO $ dyn221 ptr_glEvalCoord2d v1 v2
 
 {-# NOINLINE ptr_glEvalCoord2d #-}
 ptr_glEvalCoord2d :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -820,7 +858,7 @@
   => GLfloat -- ^ @u@ of type @CoordF@.
   -> GLfloat -- ^ @v@ of type @CoordF@.
   -> m ()
-glEvalCoord2f v1 v2 = liftIO $ dyn225 ptr_glEvalCoord2f v1 v2
+glEvalCoord2f v1 v2 = liftIO $ dyn226 ptr_glEvalCoord2f v1 v2
 
 {-# NOINLINE ptr_glEvalCoord2f #-}
 ptr_glEvalCoord2f :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -846,7 +884,7 @@
   => GLfixed -- ^ @u@.
   -> GLfixed -- ^ @v@.
   -> m ()
-glEvalCoord2xOES v1 v2 = liftIO $ dyn227 ptr_glEvalCoord2xOES v1 v2
+glEvalCoord2xOES v1 v2 = liftIO $ dyn228 ptr_glEvalCoord2xOES v1 v2
 
 {-# NOINLINE ptr_glEvalCoord2xOES #-}
 ptr_glEvalCoord2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -886,7 +924,7 @@
   -> GLint -- ^ @i1@ of type @CheckedInt32@.
   -> GLint -- ^ @i2@ of type @CheckedInt32@.
   -> m ()
-glEvalMesh1 v1 v2 v3 = liftIO $ dyn268 ptr_glEvalMesh1 v1 v2 v3
+glEvalMesh1 v1 v2 v3 = liftIO $ dyn269 ptr_glEvalMesh1 v1 v2 v3
 
 {-# NOINLINE ptr_glEvalMesh1 #-}
 ptr_glEvalMesh1 :: FunPtr (GLenum -> GLint -> GLint -> IO ())
@@ -903,7 +941,7 @@
   -> GLint -- ^ @j1@ of type @CheckedInt32@.
   -> GLint -- ^ @j2@ of type @CheckedInt32@.
   -> m ()
-glEvalMesh2 v1 v2 v3 v4 v5 = liftIO $ dyn269 ptr_glEvalMesh2 v1 v2 v3 v4 v5
+glEvalMesh2 v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glEvalMesh2 v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glEvalMesh2 #-}
 ptr_glEvalMesh2 :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
@@ -930,7 +968,7 @@
   => GLint -- ^ @i@ of type @CheckedInt32@.
   -> GLint -- ^ @j@ of type @CheckedInt32@.
   -> m ()
-glEvalPoint2 v1 v2 = liftIO $ dyn270 ptr_glEvalPoint2 v1 v2
+glEvalPoint2 v1 v2 = liftIO $ dyn271 ptr_glEvalPoint2 v1 v2
 
 {-# NOINLINE ptr_glEvalPoint2 #-}
 ptr_glEvalPoint2 :: FunPtr (GLint -> GLint -> IO ())
@@ -955,7 +993,7 @@
   -> GLuint -- ^ @id@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glExecuteProgramNV v1 v2 v3 = liftIO $ dyn271 ptr_glExecuteProgramNV v1 v2 v3
+glExecuteProgramNV v1 v2 v3 = liftIO $ dyn272 ptr_glExecuteProgramNV v1 v2 v3
 
 {-# NOINLINE ptr_glExecuteProgramNV #-}
 ptr_glExecuteProgramNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -968,7 +1006,7 @@
   => GLenum -- ^ @target@.
   -> Ptr (Ptr a) -- ^ @params@.
   -> m ()
-glExtGetBufferPointervQCOM v1 v2 = liftIO $ dyn272 ptr_glExtGetBufferPointervQCOM v1 v2
+glExtGetBufferPointervQCOM v1 v2 = liftIO $ dyn273 ptr_glExtGetBufferPointervQCOM v1 v2
 
 {-# NOINLINE ptr_glExtGetBufferPointervQCOM #-}
 ptr_glExtGetBufferPointervQCOM :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
@@ -982,7 +1020,7 @@
   -> GLint -- ^ @maxBuffers@.
   -> Ptr GLint -- ^ @numBuffers@ pointing to @1@ element of type @GLint@.
   -> m ()
-glExtGetBuffersQCOM v1 v2 v3 = liftIO $ dyn273 ptr_glExtGetBuffersQCOM v1 v2 v3
+glExtGetBuffersQCOM v1 v2 v3 = liftIO $ dyn274 ptr_glExtGetBuffersQCOM v1 v2 v3
 
 {-# NOINLINE ptr_glExtGetBuffersQCOM #-}
 ptr_glExtGetBuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
@@ -996,7 +1034,7 @@
   -> GLint -- ^ @maxFramebuffers@.
   -> Ptr GLint -- ^ @numFramebuffers@ pointing to @1@ element of type @GLint@.
   -> m ()
-glExtGetFramebuffersQCOM v1 v2 v3 = liftIO $ dyn273 ptr_glExtGetFramebuffersQCOM v1 v2 v3
+glExtGetFramebuffersQCOM v1 v2 v3 = liftIO $ dyn274 ptr_glExtGetFramebuffersQCOM v1 v2 v3
 
 {-# NOINLINE ptr_glExtGetFramebuffersQCOM #-}
 ptr_glExtGetFramebuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
@@ -1007,11 +1045,11 @@
 glExtGetProgramBinarySourceQCOM
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> Ptr GLchar -- ^ @source@.
   -> Ptr GLint -- ^ @length@.
   -> m ()
-glExtGetProgramBinarySourceQCOM v1 v2 v3 v4 = liftIO $ dyn274 ptr_glExtGetProgramBinarySourceQCOM v1 v2 v3 v4
+glExtGetProgramBinarySourceQCOM v1 v2 v3 v4 = liftIO $ dyn275 ptr_glExtGetProgramBinarySourceQCOM v1 v2 v3 v4
 
 {-# NOINLINE ptr_glExtGetProgramBinarySourceQCOM #-}
 ptr_glExtGetProgramBinarySourceQCOM :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ())
@@ -1025,7 +1063,7 @@
   -> GLint -- ^ @maxPrograms@.
   -> Ptr GLint -- ^ @numPrograms@ pointing to @1@ element of type @GLint@.
   -> m ()
-glExtGetProgramsQCOM v1 v2 v3 = liftIO $ dyn273 ptr_glExtGetProgramsQCOM v1 v2 v3
+glExtGetProgramsQCOM v1 v2 v3 = liftIO $ dyn274 ptr_glExtGetProgramsQCOM v1 v2 v3
 
 {-# NOINLINE ptr_glExtGetProgramsQCOM #-}
 ptr_glExtGetProgramsQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
@@ -1039,7 +1077,7 @@
   -> GLint -- ^ @maxRenderbuffers@.
   -> Ptr GLint -- ^ @numRenderbuffers@ pointing to @1@ element of type @GLint@.
   -> m ()
-glExtGetRenderbuffersQCOM v1 v2 v3 = liftIO $ dyn273 ptr_glExtGetRenderbuffersQCOM v1 v2 v3
+glExtGetRenderbuffersQCOM v1 v2 v3 = liftIO $ dyn274 ptr_glExtGetRenderbuffersQCOM v1 v2 v3
 
 {-# NOINLINE ptr_glExtGetRenderbuffersQCOM #-}
 ptr_glExtGetRenderbuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
@@ -1053,7 +1091,7 @@
   -> GLint -- ^ @maxShaders@.
   -> Ptr GLint -- ^ @numShaders@ pointing to @1@ element of type @GLint@.
   -> m ()
-glExtGetShadersQCOM v1 v2 v3 = liftIO $ dyn273 ptr_glExtGetShadersQCOM v1 v2 v3
+glExtGetShadersQCOM v1 v2 v3 = liftIO $ dyn274 ptr_glExtGetShadersQCOM v1 v2 v3
 
 {-# NOINLINE ptr_glExtGetShadersQCOM #-}
 ptr_glExtGetShadersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
@@ -1069,7 +1107,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5 = liftIO $ dyn275 ptr_glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5
+glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5 = liftIO $ dyn276 ptr_glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glExtGetTexLevelParameterivQCOM #-}
 ptr_glExtGetTexLevelParameterivQCOM :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
@@ -1087,11 +1125,11 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @texels@.
   -> m ()
-glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn276 ptr_glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn277 ptr_glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glExtGetTexSubImageQCOM #-}
 ptr_glExtGetTexSubImageQCOM :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1105,7 +1143,7 @@
   -> GLint -- ^ @maxTextures@.
   -> Ptr GLint -- ^ @numTextures@.
   -> m ()
-glExtGetTexturesQCOM v1 v2 v3 = liftIO $ dyn273 ptr_glExtGetTexturesQCOM v1 v2 v3
+glExtGetTexturesQCOM v1 v2 v3 = liftIO $ dyn274 ptr_glExtGetTexturesQCOM v1 v2 v3
 
 {-# NOINLINE ptr_glExtGetTexturesQCOM #-}
 ptr_glExtGetTexturesQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
@@ -1117,7 +1155,7 @@
   :: MonadIO m
   => GLuint -- ^ @program@.
   -> m GLboolean
-glExtIsProgramBinaryQCOM v1 = liftIO $ dyn277 ptr_glExtIsProgramBinaryQCOM v1
+glExtIsProgramBinaryQCOM v1 = liftIO $ dyn278 ptr_glExtIsProgramBinaryQCOM v1
 
 {-# NOINLINE ptr_glExtIsProgramBinaryQCOM #-}
 ptr_glExtIsProgramBinaryQCOM :: FunPtr (GLuint -> IO GLboolean)
@@ -1160,7 +1198,7 @@
   -> GLenum -- ^ @type@ of type [FeedbackType](Graphics-GL-Groups.html#FeedbackType).
   -> Ptr GLfloat -- ^ @buffer@ pointing to @size@ elements of type @FeedbackElement@.
   -> m ()
-glFeedbackBuffer v1 v2 v3 = liftIO $ dyn278 ptr_glFeedbackBuffer v1 v2 v3
+glFeedbackBuffer v1 v2 v3 = liftIO $ dyn279 ptr_glFeedbackBuffer v1 v2 v3
 
 {-# NOINLINE ptr_glFeedbackBuffer #-}
 ptr_glFeedbackBuffer :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
@@ -1174,7 +1212,7 @@
   -> GLenum -- ^ @type@.
   -> Ptr GLfixed -- ^ @buffer@ pointing to @n@ elements of type @GLfixed@.
   -> m ()
-glFeedbackBufferxOES v1 v2 v3 = liftIO $ dyn279 ptr_glFeedbackBufferxOES v1 v2 v3
+glFeedbackBufferxOES v1 v2 v3 = liftIO $ dyn280 ptr_glFeedbackBufferxOES v1 v2 v3
 
 {-# NOINLINE ptr_glFeedbackBufferxOES #-}
 ptr_glFeedbackBufferxOES :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
@@ -1185,10 +1223,10 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFenceSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFenceSync.xhtml OpenGL 4.x>.
 glFenceSync
   :: MonadIO m
-  => GLenum -- ^ @condition@.
+  => GLenum -- ^ @condition@ of type [SyncCondition](Graphics-GL-Groups.html#SyncCondition).
   -> GLbitfield -- ^ @flags@.
   -> m GLsync -- ^ of type @sync@.
-glFenceSync v1 v2 = liftIO $ dyn280 ptr_glFenceSync v1 v2
+glFenceSync v1 v2 = liftIO $ dyn281 ptr_glFenceSync v1 v2
 
 {-# NOINLINE ptr_glFenceSync #-}
 ptr_glFenceSync :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
@@ -1199,10 +1237,10 @@
 -- | This command is an alias for 'glFenceSync'.
 glFenceSyncAPPLE
   :: MonadIO m
-  => GLenum -- ^ @condition@.
+  => GLenum -- ^ @condition@ of type [SyncCondition](Graphics-GL-Groups.html#SyncCondition).
   -> GLbitfield -- ^ @flags@.
   -> m GLsync
-glFenceSyncAPPLE v1 v2 = liftIO $ dyn280 ptr_glFenceSyncAPPLE v1 v2
+glFenceSyncAPPLE v1 v2 = liftIO $ dyn281 ptr_glFenceSyncAPPLE v1 v2
 
 {-# NOINLINE ptr_glFenceSyncAPPLE #-}
 ptr_glFenceSyncAPPLE :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
@@ -1241,7 +1279,7 @@
   :: MonadIO m
   => Ptr GLuint -- ^ @markerp@ pointing to @1@ element of type @GLuint@.
   -> m GLint
-glFinishAsyncSGIX v1 = liftIO $ dyn281 ptr_glFinishAsyncSGIX v1
+glFinishAsyncSGIX v1 = liftIO $ dyn282 ptr_glFinishAsyncSGIX v1
 
 {-# NOINLINE ptr_glFinishAsyncSGIX #-}
 ptr_glFinishAsyncSGIX :: FunPtr (Ptr GLuint -> IO GLint)
@@ -1316,7 +1354,7 @@
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
   -> m ()
-glFlushMappedBufferRange v1 v2 v3 = liftIO $ dyn282 ptr_glFlushMappedBufferRange v1 v2 v3
+glFlushMappedBufferRange v1 v2 v3 = liftIO $ dyn283 ptr_glFlushMappedBufferRange v1 v2 v3
 
 {-# NOINLINE ptr_glFlushMappedBufferRange #-}
 ptr_glFlushMappedBufferRange :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
@@ -1327,11 +1365,11 @@
 -- | This command is an alias for 'glFlushMappedBufferRange'.
 glFlushMappedBufferRangeAPPLE
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> m ()
-glFlushMappedBufferRangeAPPLE v1 v2 v3 = liftIO $ dyn282 ptr_glFlushMappedBufferRangeAPPLE v1 v2 v3
+glFlushMappedBufferRangeAPPLE v1 v2 v3 = liftIO $ dyn283 ptr_glFlushMappedBufferRangeAPPLE v1 v2 v3
 
 {-# NOINLINE ptr_glFlushMappedBufferRangeAPPLE #-}
 ptr_glFlushMappedBufferRangeAPPLE :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
@@ -1342,11 +1380,11 @@
 -- | This command is an alias for 'glFlushMappedBufferRange'.
 glFlushMappedBufferRangeEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @length@.
   -> m ()
-glFlushMappedBufferRangeEXT v1 v2 v3 = liftIO $ dyn282 ptr_glFlushMappedBufferRangeEXT v1 v2 v3
+glFlushMappedBufferRangeEXT v1 v2 v3 = liftIO $ dyn283 ptr_glFlushMappedBufferRangeEXT v1 v2 v3
 
 {-# NOINLINE ptr_glFlushMappedBufferRangeEXT #-}
 ptr_glFlushMappedBufferRangeEXT :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
@@ -1361,7 +1399,7 @@
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
   -> m ()
-glFlushMappedNamedBufferRange v1 v2 v3 = liftIO $ dyn283 ptr_glFlushMappedNamedBufferRange v1 v2 v3
+glFlushMappedNamedBufferRange v1 v2 v3 = liftIO $ dyn284 ptr_glFlushMappedNamedBufferRange v1 v2 v3
 
 {-# NOINLINE ptr_glFlushMappedNamedBufferRange #-}
 ptr_glFlushMappedNamedBufferRange :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
@@ -1375,7 +1413,7 @@
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @length@.
   -> m ()
-glFlushMappedNamedBufferRangeEXT v1 v2 v3 = liftIO $ dyn283 ptr_glFlushMappedNamedBufferRangeEXT v1 v2 v3
+glFlushMappedNamedBufferRangeEXT v1 v2 v3 = liftIO $ dyn284 ptr_glFlushMappedNamedBufferRangeEXT v1 v2 v3
 
 {-# NOINLINE ptr_glFlushMappedNamedBufferRangeEXT #-}
 ptr_glFlushMappedNamedBufferRangeEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
@@ -1415,28 +1453,4 @@
 {-# NOINLINE ptr_glFlushStaticDataIBM #-}
 ptr_glFlushStaticDataIBM :: FunPtr (GLenum -> IO ())
 ptr_glFlushStaticDataIBM = unsafePerformIO $ getCommand "glFlushStaticDataIBM"
-
--- glFlushVertexArrayRangeAPPLE ------------------------------------------------
-
-glFlushVertexArrayRangeAPPLE
-  :: MonadIO m
-  => GLsizei -- ^ @length@.
-  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
-  -> m ()
-glFlushVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn264 ptr_glFlushVertexArrayRangeAPPLE v1 v2
-
-{-# NOINLINE ptr_glFlushVertexArrayRangeAPPLE #-}
-ptr_glFlushVertexArrayRangeAPPLE :: FunPtr (GLsizei -> Ptr a -> IO ())
-ptr_glFlushVertexArrayRangeAPPLE = unsafePerformIO $ getCommand "glFlushVertexArrayRangeAPPLE"
-
--- glFlushVertexArrayRangeNV ---------------------------------------------------
-
-glFlushVertexArrayRangeNV
-  :: MonadIO m
-  => m ()
-glFlushVertexArrayRangeNV = liftIO $ dyn11 ptr_glFlushVertexArrayRangeNV
-
-{-# NOINLINE ptr_glFlushVertexArrayRangeNV #-}
-ptr_glFlushVertexArrayRangeNV :: FunPtr (IO ())
-ptr_glFlushVertexArrayRangeNV = unsafePerformIO $ getCommand "glFlushVertexArrayRangeNV"
 
diff --git a/src/Graphics/GL/Functions/F08.hs b/src/Graphics/GL/Functions/F08.hs
--- a/src/Graphics/GL/Functions/F08.hs
+++ b/src/Graphics/GL/Functions/F08.hs
@@ -15,6 +15,8 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F08 (
+  glFlushVertexArrayRangeAPPLE,
+  glFlushVertexArrayRangeNV,
   glFogCoordFormatNV,
   glFogCoordPointer,
   glFogCoordPointerEXT,
@@ -112,9 +114,7 @@
   glGenOcclusionQueriesNV,
   glGenPathsNV,
   glGenPerfMonitorsAMD,
-  glGenProgramPipelines,
-  glGenProgramPipelinesEXT,
-  glGenProgramsARB
+  glGenProgramPipelines
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,30 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glFlushVertexArrayRangeAPPLE ------------------------------------------------
+
+glFlushVertexArrayRangeAPPLE
+  :: MonadIO m
+  => GLsizei -- ^ @length@.
+  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
+  -> m ()
+glFlushVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn265 ptr_glFlushVertexArrayRangeAPPLE v1 v2
+
+{-# NOINLINE ptr_glFlushVertexArrayRangeAPPLE #-}
+ptr_glFlushVertexArrayRangeAPPLE :: FunPtr (GLsizei -> Ptr a -> IO ())
+ptr_glFlushVertexArrayRangeAPPLE = unsafePerformIO $ getCommand "glFlushVertexArrayRangeAPPLE"
+
+-- glFlushVertexArrayRangeNV ---------------------------------------------------
+
+glFlushVertexArrayRangeNV
+  :: MonadIO m
+  => m ()
+glFlushVertexArrayRangeNV = liftIO $ dyn11 ptr_glFlushVertexArrayRangeNV
+
+{-# NOINLINE ptr_glFlushVertexArrayRangeNV #-}
+ptr_glFlushVertexArrayRangeNV :: FunPtr (IO ())
+ptr_glFlushVertexArrayRangeNV = unsafePerformIO $ getCommand "glFlushVertexArrayRangeNV"
+
 -- glFogCoordFormatNV ----------------------------------------------------------
 
 glFogCoordFormatNV
@@ -130,7 +154,7 @@
   => GLenum -- ^ @type@.
   -> GLsizei -- ^ @stride@.
   -> m ()
-glFogCoordFormatNV v1 v2 = liftIO $ dyn242 ptr_glFogCoordFormatNV v1 v2
+glFogCoordFormatNV v1 v2 = liftIO $ dyn243 ptr_glFogCoordFormatNV v1 v2
 
 {-# NOINLINE ptr_glFogCoordFormatNV #-}
 ptr_glFogCoordFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
@@ -175,7 +199,7 @@
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
   -> GLint -- ^ @ptrstride@.
   -> m ()
-glFogCoordPointerListIBM v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFogCoordPointerListIBM v1 v2 v3 v4
+glFogCoordPointerListIBM v1 v2 v3 v4 = liftIO $ dyn285 ptr_glFogCoordPointerListIBM v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFogCoordPointerListIBM #-}
 ptr_glFogCoordPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
@@ -292,7 +316,7 @@
   :: MonadIO m
   => GLhalfNV -- ^ @fog@ of type @Half16NV@.
   -> m ()
-glFogCoordhNV v1 = liftIO $ dyn285 ptr_glFogCoordhNV v1
+glFogCoordhNV v1 = liftIO $ dyn286 ptr_glFogCoordhNV v1
 
 {-# NOINLINE ptr_glFogCoordhNV #-}
 ptr_glFogCoordhNV :: FunPtr (GLhalfNV -> IO ())
@@ -383,7 +407,7 @@
 
 glFogx
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
   -> GLfixed -- ^ @param@.
   -> m ()
 glFogx v1 v2 = liftIO $ dyn1 ptr_glFogx v1 v2
@@ -396,7 +420,7 @@
 
 glFogxOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
   -> GLfixed -- ^ @param@.
   -> m ()
 glFogxOES v1 v2 = liftIO $ dyn1 ptr_glFogxOES v1 v2
@@ -409,7 +433,7 @@
 
 glFogxv
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
   -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glFogxv v1 v2 = liftIO $ dyn98 ptr_glFogxv v1 v2
@@ -422,7 +446,7 @@
 
 glFogxvOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [FogPName](Graphics-GL-Groups.html#FogPName).
   -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glFogxvOES v1 v2 = liftIO $ dyn98 ptr_glFogxvOES v1 v2
@@ -664,7 +688,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type [DrawBufferMode](Graphics-GL-Groups.html#DrawBufferMode).
   -> m ()
-glFramebufferDrawBuffersEXT v1 v2 v3 = liftIO $ dyn286 ptr_glFramebufferDrawBuffersEXT v1 v2 v3
+glFramebufferDrawBuffersEXT v1 v2 v3 = liftIO $ dyn287 ptr_glFramebufferDrawBuffersEXT v1 v2 v3
 
 {-# NOINLINE ptr_glFramebufferDrawBuffersEXT #-}
 ptr_glFramebufferDrawBuffersEXT :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
@@ -691,7 +715,7 @@
   -> GLuint -- ^ @requestedFeatures@.
   -> Ptr GLuint -- ^ @providedFeatures@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glFramebufferFoveationConfigQCOM v1 v2 v3 v4 v5 = liftIO $ dyn287 ptr_glFramebufferFoveationConfigQCOM v1 v2 v3 v4 v5
+glFramebufferFoveationConfigQCOM v1 v2 v3 v4 v5 = liftIO $ dyn288 ptr_glFramebufferFoveationConfigQCOM v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferFoveationConfigQCOM #-}
 ptr_glFramebufferFoveationConfigQCOM :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> Ptr GLuint -> IO ())
@@ -710,7 +734,7 @@
   -> GLfloat -- ^ @gainY@ of type @CheckedFloat32@.
   -> GLfloat -- ^ @foveaArea@ of type @CheckedFloat32@.
   -> m ()
-glFramebufferFoveationParametersQCOM v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn288 ptr_glFramebufferFoveationParametersQCOM v1 v2 v3 v4 v5 v6 v7 v8
+glFramebufferFoveationParametersQCOM v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn289 ptr_glFramebufferFoveationParametersQCOM v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glFramebufferFoveationParametersQCOM #-}
 ptr_glFramebufferFoveationParametersQCOM :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -721,8 +745,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferParameteri.xhtml OpenGL 4.x>.
 glFramebufferParameteri
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @pname@ of type [FramebufferParameterName](Graphics-GL-Groups.html#FramebufferParameterName).
   -> GLint -- ^ @param@.
   -> m ()
 glFramebufferParameteri v1 v2 v3 = liftIO $ dyn63 ptr_glFramebufferParameteri v1 v2 v3
@@ -762,12 +786,12 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml OpenGL 4.x>.
 glFramebufferRenderbuffer
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
-glFramebufferRenderbuffer v1 v2 v3 v4 = liftIO $ dyn289 ptr_glFramebufferRenderbuffer v1 v2 v3 v4
+glFramebufferRenderbuffer v1 v2 v3 v4 = liftIO $ dyn290 ptr_glFramebufferRenderbuffer v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferRenderbuffer #-}
 ptr_glFramebufferRenderbuffer :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
@@ -778,12 +802,12 @@
 -- | This command is an alias for 'glFramebufferRenderbuffer'.
 glFramebufferRenderbufferEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
-glFramebufferRenderbufferEXT v1 v2 v3 v4 = liftIO $ dyn289 ptr_glFramebufferRenderbufferEXT v1 v2 v3 v4
+glFramebufferRenderbufferEXT v1 v2 v3 v4 = liftIO $ dyn290 ptr_glFramebufferRenderbufferEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferRenderbufferEXT #-}
 ptr_glFramebufferRenderbufferEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
@@ -793,12 +817,12 @@
 
 glFramebufferRenderbufferOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @renderbuffertarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
-glFramebufferRenderbufferOES v1 v2 v3 v4 = liftIO $ dyn289 ptr_glFramebufferRenderbufferOES v1 v2 v3 v4
+glFramebufferRenderbufferOES v1 v2 v3 v4 = liftIO $ dyn290 ptr_glFramebufferRenderbufferOES v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferRenderbufferOES #-}
 ptr_glFramebufferRenderbufferOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
@@ -808,12 +832,12 @@
 
 glFramebufferSampleLocationsfvARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> GLuint -- ^ @start@.
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@.
   -> m ()
-glFramebufferSampleLocationsfvARB v1 v2 v3 v4 = liftIO $ dyn290 ptr_glFramebufferSampleLocationsfvARB v1 v2 v3 v4
+glFramebufferSampleLocationsfvARB v1 v2 v3 v4 = liftIO $ dyn291 ptr_glFramebufferSampleLocationsfvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferSampleLocationsfvARB #-}
 ptr_glFramebufferSampleLocationsfvARB :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -823,12 +847,12 @@
 
 glFramebufferSampleLocationsfvNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> GLuint -- ^ @start@.
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@.
   -> m ()
-glFramebufferSampleLocationsfvNV v1 v2 v3 v4 = liftIO $ dyn290 ptr_glFramebufferSampleLocationsfvNV v1 v2 v3 v4
+glFramebufferSampleLocationsfvNV v1 v2 v3 v4 = liftIO $ dyn291 ptr_glFramebufferSampleLocationsfvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferSampleLocationsfvNV #-}
 ptr_glFramebufferSampleLocationsfvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -838,12 +862,12 @@
 
 glFramebufferSamplePositionsfvAMD
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> GLuint -- ^ @numsamples@.
   -> GLuint -- ^ @pixelindex@.
   -> Ptr GLfloat -- ^ @values@.
   -> m ()
-glFramebufferSamplePositionsfvAMD v1 v2 v3 v4 = liftIO $ dyn291 ptr_glFramebufferSamplePositionsfvAMD v1 v2 v3 v4
+glFramebufferSamplePositionsfvAMD v1 v2 v3 v4 = liftIO $ dyn292 ptr_glFramebufferSamplePositionsfvAMD v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferSamplePositionsfvAMD #-}
 ptr_glFramebufferSamplePositionsfvAMD :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLfloat -> IO ())
@@ -854,12 +878,12 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
 glFramebufferTexture
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> m ()
-glFramebufferTexture v1 v2 v3 v4 = liftIO $ dyn292 ptr_glFramebufferTexture v1 v2 v3 v4
+glFramebufferTexture v1 v2 v3 v4 = liftIO $ dyn293 ptr_glFramebufferTexture v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferTexture #-}
 ptr_glFramebufferTexture :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -870,13 +894,13 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
 glFramebufferTexture1D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> m ()
-glFramebufferTexture1D v1 v2 v3 v4 v5 = liftIO $ dyn293 ptr_glFramebufferTexture1D v1 v2 v3 v4 v5
+glFramebufferTexture1D v1 v2 v3 v4 v5 = liftIO $ dyn294 ptr_glFramebufferTexture1D v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTexture1D #-}
 ptr_glFramebufferTexture1D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -887,13 +911,13 @@
 -- | This command is an alias for 'glFramebufferTexture1D'.
 glFramebufferTexture1DEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> m ()
-glFramebufferTexture1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn293 ptr_glFramebufferTexture1DEXT v1 v2 v3 v4 v5
+glFramebufferTexture1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn294 ptr_glFramebufferTexture1DEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTexture1DEXT #-}
 ptr_glFramebufferTexture1DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -904,13 +928,13 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
 glFramebufferTexture2D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> m ()
-glFramebufferTexture2D v1 v2 v3 v4 v5 = liftIO $ dyn293 ptr_glFramebufferTexture2D v1 v2 v3 v4 v5
+glFramebufferTexture2D v1 v2 v3 v4 v5 = liftIO $ dyn294 ptr_glFramebufferTexture2D v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTexture2D #-}
 ptr_glFramebufferTexture2D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -920,15 +944,15 @@
 
 glFramebufferTexture2DDownsampleIMG
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> GLint -- ^ @xscale@.
   -> GLint -- ^ @yscale@.
   -> m ()
-glFramebufferTexture2DDownsampleIMG v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn294 ptr_glFramebufferTexture2DDownsampleIMG v1 v2 v3 v4 v5 v6 v7
+glFramebufferTexture2DDownsampleIMG v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn295 ptr_glFramebufferTexture2DDownsampleIMG v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glFramebufferTexture2DDownsampleIMG #-}
 ptr_glFramebufferTexture2DDownsampleIMG :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> IO ())
@@ -939,13 +963,13 @@
 -- | This command is an alias for 'glFramebufferTexture2D'.
 glFramebufferTexture2DEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> m ()
-glFramebufferTexture2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn293 ptr_glFramebufferTexture2DEXT v1 v2 v3 v4 v5
+glFramebufferTexture2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn294 ptr_glFramebufferTexture2DEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTexture2DEXT #-}
 ptr_glFramebufferTexture2DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -955,14 +979,14 @@
 
 glFramebufferTexture2DMultisampleEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> GLsizei -- ^ @samples@.
   -> m ()
-glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn295 ptr_glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6
+glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn296 ptr_glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFramebufferTexture2DMultisampleEXT #-}
 ptr_glFramebufferTexture2DMultisampleEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
@@ -972,14 +996,14 @@
 
 glFramebufferTexture2DMultisampleIMG
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> GLsizei -- ^ @samples@.
   -> m ()
-glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6 = liftIO $ dyn295 ptr_glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6
+glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6 = liftIO $ dyn296 ptr_glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFramebufferTexture2DMultisampleIMG #-}
 ptr_glFramebufferTexture2DMultisampleIMG :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
@@ -989,13 +1013,13 @@
 
 glFramebufferTexture2DOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> m ()
-glFramebufferTexture2DOES v1 v2 v3 v4 v5 = liftIO $ dyn293 ptr_glFramebufferTexture2DOES v1 v2 v3 v4 v5
+glFramebufferTexture2DOES v1 v2 v3 v4 v5 = liftIO $ dyn294 ptr_glFramebufferTexture2DOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTexture2DOES #-}
 ptr_glFramebufferTexture2DOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -1006,14 +1030,14 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
 glFramebufferTexture3D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> GLint -- ^ @zoffset@.
   -> m ()
-glFramebufferTexture3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn296 ptr_glFramebufferTexture3D v1 v2 v3 v4 v5 v6
+glFramebufferTexture3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn297 ptr_glFramebufferTexture3D v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFramebufferTexture3D #-}
 ptr_glFramebufferTexture3D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
@@ -1024,14 +1048,14 @@
 -- | This command is an alias for 'glFramebufferTexture3D'.
 glFramebufferTexture3DEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> GLint -- ^ @zoffset@.
   -> m ()
-glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn296 ptr_glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6
+glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn297 ptr_glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFramebufferTexture3DEXT #-}
 ptr_glFramebufferTexture3DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
@@ -1041,14 +1065,14 @@
 
 glFramebufferTexture3DOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> GLint -- ^ @zoffset@.
   -> m ()
-glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn296 ptr_glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6
+glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn297 ptr_glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFramebufferTexture3DOES #-}
 ptr_glFramebufferTexture3DOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
@@ -1059,12 +1083,12 @@
 -- | This command is an alias for 'glFramebufferTexture'.
 glFramebufferTextureARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> m ()
-glFramebufferTextureARB v1 v2 v3 v4 = liftIO $ dyn292 ptr_glFramebufferTextureARB v1 v2 v3 v4
+glFramebufferTextureARB v1 v2 v3 v4 = liftIO $ dyn293 ptr_glFramebufferTextureARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferTextureARB #-}
 ptr_glFramebufferTextureARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -1075,12 +1099,12 @@
 -- | This command is an alias for 'glFramebufferTexture'.
 glFramebufferTextureEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> m ()
-glFramebufferTextureEXT v1 v2 v3 v4 = liftIO $ dyn292 ptr_glFramebufferTextureEXT v1 v2 v3 v4
+glFramebufferTextureEXT v1 v2 v3 v4 = liftIO $ dyn293 ptr_glFramebufferTextureEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferTextureEXT #-}
 ptr_glFramebufferTextureEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -1090,13 +1114,13 @@
 
 glFramebufferTextureFaceARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> m ()
-glFramebufferTextureFaceARB v1 v2 v3 v4 v5 = liftIO $ dyn297 ptr_glFramebufferTextureFaceARB v1 v2 v3 v4 v5
+glFramebufferTextureFaceARB v1 v2 v3 v4 v5 = liftIO $ dyn298 ptr_glFramebufferTextureFaceARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTextureFaceARB #-}
 ptr_glFramebufferTextureFaceARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
@@ -1107,13 +1131,13 @@
 -- | This command is an alias for 'glFramebufferTextureFaceARB'.
 glFramebufferTextureFaceEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> m ()
-glFramebufferTextureFaceEXT v1 v2 v3 v4 v5 = liftIO $ dyn297 ptr_glFramebufferTextureFaceEXT v1 v2 v3 v4 v5
+glFramebufferTextureFaceEXT v1 v2 v3 v4 v5 = liftIO $ dyn298 ptr_glFramebufferTextureFaceEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTextureFaceEXT #-}
 ptr_glFramebufferTextureFaceEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
@@ -1124,13 +1148,13 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTextureLayer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml OpenGL 4.x>.
 glFramebufferTextureLayer
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @layer@ of type @CheckedInt32@.
   -> m ()
-glFramebufferTextureLayer v1 v2 v3 v4 v5 = liftIO $ dyn298 ptr_glFramebufferTextureLayer v1 v2 v3 v4 v5
+glFramebufferTextureLayer v1 v2 v3 v4 v5 = liftIO $ dyn299 ptr_glFramebufferTextureLayer v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTextureLayer #-}
 ptr_glFramebufferTextureLayer :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
@@ -1141,13 +1165,13 @@
 -- | This command is an alias for 'glFramebufferTextureLayer'.
 glFramebufferTextureLayerARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @layer@ of type @CheckedInt32@.
   -> m ()
-glFramebufferTextureLayerARB v1 v2 v3 v4 v5 = liftIO $ dyn298 ptr_glFramebufferTextureLayerARB v1 v2 v3 v4 v5
+glFramebufferTextureLayerARB v1 v2 v3 v4 v5 = liftIO $ dyn299 ptr_glFramebufferTextureLayerARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTextureLayerARB #-}
 ptr_glFramebufferTextureLayerARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
@@ -1157,15 +1181,15 @@
 
 glFramebufferTextureLayerDownsampleIMG
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @layer@ of type @CheckedInt32@.
   -> GLint -- ^ @xscale@.
   -> GLint -- ^ @yscale@.
   -> m ()
-glFramebufferTextureLayerDownsampleIMG v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn299 ptr_glFramebufferTextureLayerDownsampleIMG v1 v2 v3 v4 v5 v6 v7
+glFramebufferTextureLayerDownsampleIMG v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn300 ptr_glFramebufferTextureLayerDownsampleIMG v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glFramebufferTextureLayerDownsampleIMG #-}
 ptr_glFramebufferTextureLayerDownsampleIMG :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
@@ -1176,13 +1200,13 @@
 -- | This command is an alias for 'glFramebufferTextureLayer'.
 glFramebufferTextureLayerEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @layer@ of type @CheckedInt32@.
   -> m ()
-glFramebufferTextureLayerEXT v1 v2 v3 v4 v5 = liftIO $ dyn298 ptr_glFramebufferTextureLayerEXT v1 v2 v3 v4 v5
+glFramebufferTextureLayerEXT v1 v2 v3 v4 v5 = liftIO $ dyn299 ptr_glFramebufferTextureLayerEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glFramebufferTextureLayerEXT #-}
 ptr_glFramebufferTextureLayerEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
@@ -1192,15 +1216,15 @@
 
 glFramebufferTextureMultisampleMultiviewOVR
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLsizei -- ^ @samples@.
   -> GLint -- ^ @baseViewIndex@.
   -> GLsizei -- ^ @numViews@.
   -> m ()
-glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn300 ptr_glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7
+glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn301 ptr_glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glFramebufferTextureMultisampleMultiviewOVR #-}
 ptr_glFramebufferTextureMultisampleMultiviewOVR :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ())
@@ -1210,14 +1234,14 @@
 
 glFramebufferTextureMultiviewOVR
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @baseViewIndex@.
   -> GLsizei -- ^ @numViews@.
   -> m ()
-glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6 = liftIO $ dyn301 ptr_glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6
+glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6 = liftIO $ dyn302 ptr_glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFramebufferTextureMultiviewOVR #-}
 ptr_glFramebufferTextureMultiviewOVR :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ())
@@ -1228,12 +1252,12 @@
 -- | This command is an alias for 'glFramebufferTexture'.
 glFramebufferTextureOES
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> m ()
-glFramebufferTextureOES v1 v2 v3 v4 = liftIO $ dyn292 ptr_glFramebufferTextureOES v1 v2 v3 v4
+glFramebufferTextureOES v1 v2 v3 v4 = liftIO $ dyn293 ptr_glFramebufferTextureOES v1 v2 v3 v4
 
 {-# NOINLINE ptr_glFramebufferTextureOES #-}
 ptr_glFramebufferTextureOES :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
@@ -1276,7 +1300,7 @@
   -> GLdouble -- ^ @zNear@.
   -> GLdouble -- ^ @zFar@.
   -> m ()
-glFrustum v1 v2 v3 v4 v5 v6 = liftIO $ dyn302 ptr_glFrustum v1 v2 v3 v4 v5 v6
+glFrustum v1 v2 v3 v4 v5 v6 = liftIO $ dyn303 ptr_glFrustum v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFrustum #-}
 ptr_glFrustum :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -1327,7 +1351,7 @@
   -> GLfixed -- ^ @n@.
   -> GLfixed -- ^ @f@.
   -> m ()
-glFrustumx v1 v2 v3 v4 v5 v6 = liftIO $ dyn303 ptr_glFrustumx v1 v2 v3 v4 v5 v6
+glFrustumx v1 v2 v3 v4 v5 v6 = liftIO $ dyn304 ptr_glFrustumx v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFrustumx #-}
 ptr_glFrustumx :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
@@ -1344,7 +1368,7 @@
   -> GLfixed -- ^ @n@.
   -> GLfixed -- ^ @f@.
   -> m ()
-glFrustumxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn303 ptr_glFrustumxOES v1 v2 v3 v4 v5 v6
+glFrustumxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn304 ptr_glFrustumxOES v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glFrustumxOES #-}
 ptr_glFrustumxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
@@ -1356,7 +1380,7 @@
   :: MonadIO m
   => GLsizei -- ^ @range@.
   -> m GLuint
-glGenAsyncMarkersSGIX v1 = liftIO $ dyn304 ptr_glGenAsyncMarkersSGIX v1
+glGenAsyncMarkersSGIX v1 = liftIO $ dyn305 ptr_glGenAsyncMarkersSGIX v1
 
 {-# NOINLINE ptr_glGenAsyncMarkersSGIX #-}
 ptr_glGenAsyncMarkersSGIX :: FunPtr (GLsizei -> IO GLuint)
@@ -1422,7 +1446,7 @@
   :: MonadIO m
   => GLuint -- ^ @range@.
   -> m GLuint
-glGenFragmentShadersATI v1 = liftIO $ dyn305 ptr_glGenFragmentShadersATI v1
+glGenFragmentShadersATI v1 = liftIO $ dyn306 ptr_glGenFragmentShadersATI v1
 
 {-# NOINLINE ptr_glGenFragmentShadersATI #-}
 ptr_glGenFragmentShadersATI :: FunPtr (GLuint -> IO GLuint)
@@ -1476,7 +1500,7 @@
   :: MonadIO m
   => GLsizei -- ^ @range@.
   -> m GLuint -- ^ of type @List@.
-glGenLists v1 = liftIO $ dyn304 ptr_glGenLists v1
+glGenLists v1 = liftIO $ dyn305 ptr_glGenLists v1
 
 {-# NOINLINE ptr_glGenLists #-}
 ptr_glGenLists :: FunPtr (GLsizei -> IO GLuint)
@@ -1515,7 +1539,7 @@
   :: MonadIO m
   => GLsizei -- ^ @range@.
   -> m GLuint -- ^ of type @Path@.
-glGenPathsNV v1 = liftIO $ dyn304 ptr_glGenPathsNV v1
+glGenPathsNV v1 = liftIO $ dyn305 ptr_glGenPathsNV v1
 
 {-# NOINLINE ptr_glGenPathsNV #-}
 ptr_glGenPathsNV :: FunPtr (GLsizei -> IO GLuint)
@@ -1547,30 +1571,4 @@
 {-# NOINLINE ptr_glGenProgramPipelines #-}
 ptr_glGenProgramPipelines :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
 ptr_glGenProgramPipelines = unsafePerformIO $ getCommand "glGenProgramPipelines"
-
--- glGenProgramPipelinesEXT ----------------------------------------------------
-
-glGenProgramPipelinesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenProgramPipelinesEXT v1 v2 = liftIO $ dyn196 ptr_glGenProgramPipelinesEXT v1 v2
-
-{-# NOINLINE ptr_glGenProgramPipelinesEXT #-}
-ptr_glGenProgramPipelinesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenProgramPipelinesEXT = unsafePerformIO $ getCommand "glGenProgramPipelinesEXT"
-
--- glGenProgramsARB ------------------------------------------------------------
-
-glGenProgramsARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenProgramsARB v1 v2 = liftIO $ dyn196 ptr_glGenProgramsARB v1 v2
-
-{-# NOINLINE ptr_glGenProgramsARB #-}
-ptr_glGenProgramsARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenProgramsARB = unsafePerformIO $ getCommand "glGenProgramsARB"
 
diff --git a/src/Graphics/GL/Functions/F09.hs b/src/Graphics/GL/Functions/F09.hs
--- a/src/Graphics/GL/Functions/F09.hs
+++ b/src/Graphics/GL/Functions/F09.hs
@@ -15,10 +15,13 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F09 (
+  glGenProgramPipelinesEXT,
+  glGenProgramsARB,
   glGenProgramsNV,
   glGenQueries,
   glGenQueriesARB,
   glGenQueriesEXT,
+  glGenQueryResourceTagNV,
   glGenRenderbuffers,
   glGenRenderbuffersEXT,
   glGenRenderbuffersOES,
@@ -111,10 +114,7 @@
   glGetDetailTexFuncSGIS,
   glGetDoubleIndexedvEXT,
   glGetDoublei_v,
-  glGetDoublei_vEXT,
-  glGetDoublev,
-  glGetDriverControlStringQCOM,
-  glGetDriverControlsQCOM
+  glGetDoublei_vEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,32 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glGenProgramPipelinesEXT ----------------------------------------------------
+
+glGenProgramPipelinesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenProgramPipelinesEXT v1 v2 = liftIO $ dyn196 ptr_glGenProgramPipelinesEXT v1 v2
+
+{-# NOINLINE ptr_glGenProgramPipelinesEXT #-}
+ptr_glGenProgramPipelinesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenProgramPipelinesEXT = unsafePerformIO $ getCommand "glGenProgramPipelinesEXT"
+
+-- glGenProgramsARB ------------------------------------------------------------
+
+glGenProgramsARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenProgramsARB v1 v2 = liftIO $ dyn196 ptr_glGenProgramsARB v1 v2
+
+{-# NOINLINE ptr_glGenProgramsARB #-}
+ptr_glGenProgramsARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenProgramsARB = unsafePerformIO $ getCommand "glGenProgramsARB"
+
 -- glGenProgramsNV -------------------------------------------------------------
 
 -- | This command is an alias for 'glGenProgramsARB'.
@@ -178,6 +204,19 @@
 ptr_glGenQueriesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
 ptr_glGenQueriesEXT = unsafePerformIO $ getCommand "glGenQueriesEXT"
 
+-- glGenQueryResourceTagNV -----------------------------------------------------
+
+glGenQueryResourceTagNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLint -- ^ @tagIds@ pointing to @n@ elements of type @GLint@.
+  -> m ()
+glGenQueryResourceTagNV v1 v2 = liftIO $ dyn218 ptr_glGenQueryResourceTagNV v1 v2
+
+{-# NOINLINE ptr_glGenQueryResourceTagNV #-}
+ptr_glGenQueryResourceTagNV :: FunPtr (GLsizei -> Ptr GLint -> IO ())
+ptr_glGenQueryResourceTagNV = unsafePerformIO $ getCommand "glGenQueryResourceTagNV"
+
 -- glGenRenderbuffers ----------------------------------------------------------
 
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenRenderbuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenRenderbuffers.xhtml OpenGL 4.x>.
@@ -238,7 +277,7 @@
 glGenSemaphoresEXT
   :: MonadIO m
   => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @semaphores@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLuint -- ^ @semaphores@ pointing to @n@ elements of type @GLuint@.
   -> m ()
 glGenSemaphoresEXT v1 v2 = liftIO $ dyn196 ptr_glGenSemaphoresEXT v1 v2
 
@@ -255,7 +294,7 @@
   -> GLenum -- ^ @range@ of type @ParameterRangeEXT@.
   -> GLuint -- ^ @components@.
   -> m GLuint
-glGenSymbolsEXT v1 v2 v3 v4 = liftIO $ dyn306 ptr_glGenSymbolsEXT v1 v2 v3 v4
+glGenSymbolsEXT v1 v2 v3 v4 = liftIO $ dyn307 ptr_glGenSymbolsEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGenSymbolsEXT #-}
 ptr_glGenSymbolsEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
@@ -364,7 +403,7 @@
   :: MonadIO m
   => GLuint -- ^ @range@.
   -> m GLuint
-glGenVertexShadersEXT v1 = liftIO $ dyn305 ptr_glGenVertexShadersEXT v1
+glGenVertexShadersEXT v1 = liftIO $ dyn306 ptr_glGenVertexShadersEXT v1
 
 {-# NOINLINE ptr_glGenVertexShadersEXT #-}
 ptr_glGenVertexShadersEXT :: FunPtr (GLuint -> IO GLuint)
@@ -375,7 +414,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenerateMipmap.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenerateMipmap.xhtml OpenGL 4.x>.
 glGenerateMipmap
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> m ()
 glGenerateMipmap v1 = liftIO $ dyn5 ptr_glGenerateMipmap v1
 
@@ -388,7 +427,7 @@
 -- | This command is an alias for 'glGenerateMipmap'.
 glGenerateMipmapEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> m ()
 glGenerateMipmapEXT v1 = liftIO $ dyn5 ptr_glGenerateMipmapEXT v1
 
@@ -400,7 +439,7 @@
 
 glGenerateMipmapOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> m ()
 glGenerateMipmapOES v1 = liftIO $ dyn5 ptr_glGenerateMipmapOES v1
 
@@ -412,7 +451,7 @@
 
 glGenerateMultiTexMipmapEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> m ()
 glGenerateMultiTexMipmapEXT v1 v2 = liftIO $ dyn52 ptr_glGenerateMultiTexMipmapEXT v1 v2
@@ -454,10 +493,10 @@
   :: MonadIO m
   => GLuint -- ^ @program@.
   -> GLuint -- ^ @bufferIndex@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [AtomicCounterBufferPName](Graphics-GL-Groups.html#AtomicCounterBufferPName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetActiveAtomicCounterBufferiv v1 v2 v3 v4 = liftIO $ dyn307 ptr_glGetActiveAtomicCounterBufferiv v1 v2 v3 v4
+glGetActiveAtomicCounterBufferiv v1 v2 v3 v4 = liftIO $ dyn308 ptr_glGetActiveAtomicCounterBufferiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetActiveAtomicCounterBufferiv #-}
 ptr_glGetActiveAtomicCounterBufferiv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -473,10 +512,10 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type [AttributeType](Graphics-GL-Groups.html#AttributeType).
   -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn308 ptr_glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7
+glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn309 ptr_glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetActiveAttrib #-}
 ptr_glGetActiveAttrib :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
@@ -492,10 +531,10 @@
   -> GLsizei -- ^ @maxLength@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type [AttributeType](Graphics-GL-Groups.html#AttributeType).
   -> Ptr GLcharARB -- ^ @name@ pointing to @maxLength@ elements of type @GLcharARB@.
   -> m ()
-glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn309 ptr_glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7
+glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn310 ptr_glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetActiveAttribARB #-}
 ptr_glGetActiveAttribARB :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
@@ -507,13 +546,13 @@
 glGetActiveSubroutineName
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> GLuint -- ^ @index@.
   -> GLsizei -- ^ @bufsize@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @name@ pointing to @bufsize@ elements of type @GLchar@.
   -> m ()
-glGetActiveSubroutineName v1 v2 v3 v4 v5 v6 = liftIO $ dyn310 ptr_glGetActiveSubroutineName v1 v2 v3 v4 v5 v6
+glGetActiveSubroutineName v1 v2 v3 v4 v5 v6 = liftIO $ dyn311 ptr_glGetActiveSubroutineName v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetActiveSubroutineName #-}
 ptr_glGetActiveSubroutineName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -525,13 +564,13 @@
 glGetActiveSubroutineUniformName
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> GLuint -- ^ @index@.
   -> GLsizei -- ^ @bufsize@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @name@ pointing to @bufsize@ elements of type @GLchar@.
   -> m ()
-glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6 = liftIO $ dyn310 ptr_glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6
+glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6 = liftIO $ dyn311 ptr_glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetActiveSubroutineUniformName #-}
 ptr_glGetActiveSubroutineUniformName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -543,12 +582,12 @@
 glGetActiveSubroutineUniformiv
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SubroutineParameterName](Graphics-GL-Groups.html#SubroutineParameterName).
   -> Ptr GLint -- ^ @values@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5 = liftIO $ dyn311 ptr_glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5
+glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5 = liftIO $ dyn312 ptr_glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetActiveSubroutineUniformiv #-}
 ptr_glGetActiveSubroutineUniformiv :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -564,10 +603,10 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type [AttributeType](Graphics-GL-Groups.html#AttributeType).
   -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetActiveUniform v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn308 ptr_glGetActiveUniform v1 v2 v3 v4 v5 v6 v7
+glGetActiveUniform v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn309 ptr_glGetActiveUniform v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetActiveUniform #-}
 ptr_glGetActiveUniform :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
@@ -583,10 +622,10 @@
   -> GLsizei -- ^ @maxLength@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type [AttributeType](Graphics-GL-Groups.html#AttributeType).
   -> Ptr GLcharARB -- ^ @name@ pointing to @maxLength@ elements of type @GLcharARB@.
   -> m ()
-glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn309 ptr_glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7
+glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn310 ptr_glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetActiveUniformARB #-}
 ptr_glGetActiveUniformARB :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
@@ -603,7 +642,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @uniformBlockName@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetActiveUniformBlockName v1 v2 v3 v4 v5 = liftIO $ dyn312 ptr_glGetActiveUniformBlockName v1 v2 v3 v4 v5
+glGetActiveUniformBlockName v1 v2 v3 v4 v5 = liftIO $ dyn313 ptr_glGetActiveUniformBlockName v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetActiveUniformBlockName #-}
 ptr_glGetActiveUniformBlockName :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -616,10 +655,10 @@
   :: MonadIO m
   => GLuint -- ^ @program@.
   -> GLuint -- ^ @uniformBlockIndex@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [UniformBlockPName](Graphics-GL-Groups.html#UniformBlockPName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(program,uniformBlockIndex,pname)@ elements of type @GLint@.
   -> m ()
-glGetActiveUniformBlockiv v1 v2 v3 v4 = liftIO $ dyn307 ptr_glGetActiveUniformBlockiv v1 v2 v3 v4
+glGetActiveUniformBlockiv v1 v2 v3 v4 = liftIO $ dyn308 ptr_glGetActiveUniformBlockiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetActiveUniformBlockiv #-}
 ptr_glGetActiveUniformBlockiv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -636,7 +675,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @uniformName@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetActiveUniformName v1 v2 v3 v4 v5 = liftIO $ dyn312 ptr_glGetActiveUniformName v1 v2 v3 v4 v5
+glGetActiveUniformName v1 v2 v3 v4 v5 = liftIO $ dyn313 ptr_glGetActiveUniformName v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetActiveUniformName #-}
 ptr_glGetActiveUniformName :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -650,10 +689,10 @@
   => GLuint -- ^ @program@.
   -> GLsizei -- ^ @uniformCount@.
   -> Ptr GLuint -- ^ @uniformIndices@ pointing to @uniformCount@ elements of type @GLuint@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [UniformPName](Graphics-GL-Groups.html#UniformPName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(uniformCount,pname)@ elements of type @GLint@.
   -> m ()
-glGetActiveUniformsiv v1 v2 v3 v4 v5 = liftIO $ dyn313 ptr_glGetActiveUniformsiv v1 v2 v3 v4 v5
+glGetActiveUniformsiv v1 v2 v3 v4 v5 = liftIO $ dyn314 ptr_glGetActiveUniformsiv v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetActiveUniformsiv #-}
 ptr_glGetActiveUniformsiv :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -671,7 +710,7 @@
   -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(program,index,bufSize)@ elements of type @GLchar@.
   -> m ()
-glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn314 ptr_glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7
+glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn315 ptr_glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetActiveVaryingNV #-}
 ptr_glGetActiveVaryingNV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
@@ -714,7 +753,7 @@
   -> Ptr GLsizei -- ^ @count@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLhandleARB -- ^ @obj@ pointing to @maxCount@ elements of type @handleARB@.
   -> m ()
-glGetAttachedObjectsARB v1 v2 v3 v4 = liftIO $ dyn315 ptr_glGetAttachedObjectsARB v1 v2 v3 v4
+glGetAttachedObjectsARB v1 v2 v3 v4 = liftIO $ dyn316 ptr_glGetAttachedObjectsARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetAttachedObjectsARB #-}
 ptr_glGetAttachedObjectsARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
@@ -730,7 +769,7 @@
   -> Ptr GLsizei -- ^ @count@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLuint -- ^ @shaders@ pointing to @maxCount@ elements of type @GLuint@.
   -> m ()
-glGetAttachedShaders v1 v2 v3 v4 = liftIO $ dyn316 ptr_glGetAttachedShaders v1 v2 v3 v4
+glGetAttachedShaders v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetAttachedShaders v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetAttachedShaders #-}
 ptr_glGetAttachedShaders :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
@@ -744,7 +783,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @name@.
   -> m GLint
-glGetAttribLocation v1 v2 = liftIO $ dyn317 ptr_glGetAttribLocation v1 v2
+glGetAttribLocation v1 v2 = liftIO $ dyn318 ptr_glGetAttribLocation v1 v2
 
 {-# NOINLINE ptr_glGetAttribLocation #-}
 ptr_glGetAttribLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
@@ -758,7 +797,7 @@
   => GLhandleARB -- ^ @programObj@ of type @handleARB@.
   -> Ptr GLcharARB -- ^ @name@.
   -> m GLint
-glGetAttribLocationARB v1 v2 = liftIO $ dyn318 ptr_glGetAttribLocationARB v1 v2
+glGetAttribLocationARB v1 v2 = liftIO $ dyn319 ptr_glGetAttribLocationARB v1 v2
 
 {-# NOINLINE ptr_glGetAttribLocationARB #-}
 ptr_glGetAttribLocationARB :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
@@ -769,11 +808,11 @@
 -- | This command is an alias for 'glGetBooleani_v'.
 glGetBooleanIndexedvEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glGetBooleanIndexedvEXT v1 v2 v3 = liftIO $ dyn319 ptr_glGetBooleanIndexedvEXT v1 v2 v3
+glGetBooleanIndexedvEXT v1 v2 v3 = liftIO $ dyn320 ptr_glGetBooleanIndexedvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetBooleanIndexedvEXT #-}
 ptr_glGetBooleanIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
@@ -784,11 +823,11 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
 glGetBooleani_v
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLuint -- ^ @index@.
   -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glGetBooleani_v v1 v2 v3 = liftIO $ dyn319 ptr_glGetBooleani_v v1 v2 v3
+glGetBooleani_v v1 v2 v3 = liftIO $ dyn320 ptr_glGetBooleani_v v1 v2 v3
 
 {-# NOINLINE ptr_glGetBooleani_v #-}
 ptr_glGetBooleani_v :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
@@ -802,7 +841,7 @@
   => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
   -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glGetBooleanv v1 v2 = liftIO $ dyn320 ptr_glGetBooleanv v1 v2
+glGetBooleanv v1 v2 = liftIO $ dyn321 ptr_glGetBooleanv v1 v2
 
 {-# NOINLINE ptr_glGetBooleanv #-}
 ptr_glGetBooleanv :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
@@ -817,7 +856,7 @@
   -> GLenum -- ^ @pname@ of type @BufferPNameARB@.
   -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
   -> m ()
-glGetBufferParameteri64v v1 v2 v3 = liftIO $ dyn321 ptr_glGetBufferParameteri64v v1 v2 v3
+glGetBufferParameteri64v v1 v2 v3 = liftIO $ dyn322 ptr_glGetBufferParameteri64v v1 v2 v3
 
 {-# NOINLINE ptr_glGetBufferParameteri64v #-}
 ptr_glGetBufferParameteri64v :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
@@ -857,11 +896,11 @@
 
 glGetBufferParameterui64vNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLenum -- ^ @pname@.
   -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
   -> m ()
-glGetBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn322 ptr_glGetBufferParameterui64vNV v1 v2 v3
+glGetBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn323 ptr_glGetBufferParameterui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetBufferParameterui64vNV #-}
 ptr_glGetBufferParameterui64vNV :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
@@ -876,7 +915,7 @@
   -> GLenum -- ^ @pname@ of type @BufferPointerNameARB@.
   -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetBufferPointerv v1 v2 v3 = liftIO $ dyn323 ptr_glGetBufferPointerv v1 v2 v3
+glGetBufferPointerv v1 v2 v3 = liftIO $ dyn324 ptr_glGetBufferPointerv v1 v2 v3
 
 {-# NOINLINE ptr_glGetBufferPointerv #-}
 ptr_glGetBufferPointerv :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -891,7 +930,7 @@
   -> GLenum -- ^ @pname@ of type @BufferPointerNameARB@.
   -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetBufferPointervARB v1 v2 v3 = liftIO $ dyn323 ptr_glGetBufferPointervARB v1 v2 v3
+glGetBufferPointervARB v1 v2 v3 = liftIO $ dyn324 ptr_glGetBufferPointervARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetBufferPointervARB #-}
 ptr_glGetBufferPointervARB :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -902,11 +941,11 @@
 -- | This command is an alias for 'glGetBufferPointerv'.
 glGetBufferPointervOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
+  -> GLenum -- ^ @pname@ of type @BufferPointerNameARB@.
   -> Ptr (Ptr a) -- ^ @params@.
   -> m ()
-glGetBufferPointervOES v1 v2 v3 = liftIO $ dyn323 ptr_glGetBufferPointervOES v1 v2 v3
+glGetBufferPointervOES v1 v2 v3 = liftIO $ dyn324 ptr_glGetBufferPointervOES v1 v2 v3
 
 {-# NOINLINE ptr_glGetBufferPointervOES #-}
 ptr_glGetBufferPointervOES :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -962,7 +1001,7 @@
 
 glGetClipPlanef
   :: MonadIO m
-  => GLenum -- ^ @plane@.
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
 glGetClipPlanef v1 v2 = liftIO $ dyn97 ptr_glGetClipPlanef v1 v2
@@ -975,7 +1014,7 @@
 
 glGetClipPlanefOES
   :: MonadIO m
-  => GLenum -- ^ @plane@.
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
 glGetClipPlanefOES v1 v2 = liftIO $ dyn97 ptr_glGetClipPlanefOES v1 v2
@@ -988,7 +1027,7 @@
 
 glGetClipPlanex
   :: MonadIO m
-  => GLenum -- ^ @plane@.
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
   -> m ()
 glGetClipPlanex v1 v2 = liftIO $ dyn98 ptr_glGetClipPlanex v1 v2
@@ -1001,7 +1040,7 @@
 
 glGetClipPlanexOES
   :: MonadIO m
-  => GLenum -- ^ @plane@.
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
   -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
   -> m ()
 glGetClipPlanexOES v1 v2 = liftIO $ dyn98 ptr_glGetClipPlanexOES v1 v2
@@ -1015,12 +1054,12 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTable.xml OpenGL 2.x>.
 glGetColorTable
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @table@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetColorTable v1 v2 v3 v4 = liftIO $ dyn324 ptr_glGetColorTable v1 v2 v3 v4
+glGetColorTable v1 v2 v3 v4 = liftIO $ dyn325 ptr_glGetColorTable v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetColorTable #-}
 ptr_glGetColorTable :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1031,12 +1070,12 @@
 -- | This command is an alias for 'glGetColorTable'.
 glGetColorTableEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetColorTableEXT v1 v2 v3 v4 = liftIO $ dyn324 ptr_glGetColorTableEXT v1 v2 v3 v4
+glGetColorTableEXT v1 v2 v3 v4 = liftIO $ dyn325 ptr_glGetColorTableEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetColorTableEXT #-}
 ptr_glGetColorTableEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1047,8 +1086,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTableParameter.xml OpenGL 2.x>.
 glGetColorTableParameterfv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-GL-Groups.html#GetColorTableParameterPNameSGI).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetColorTableParameterfv v1 v2 v3 = liftIO $ dyn135 ptr_glGetColorTableParameterfv v1 v2 v3
@@ -1062,8 +1101,8 @@
 -- | This command is an alias for 'glGetColorTableParameterfv'.
 glGetColorTableParameterfvEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-GL-Groups.html#GetColorTableParameterPNameSGI).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetColorTableParameterfvEXT v1 v2 v3 = liftIO $ dyn135 ptr_glGetColorTableParameterfvEXT v1 v2 v3
@@ -1091,8 +1130,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTableParameter.xml OpenGL 2.x>.
 glGetColorTableParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-GL-Groups.html#GetColorTableParameterPNameSGI).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetColorTableParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glGetColorTableParameteriv v1 v2 v3
@@ -1106,8 +1145,8 @@
 -- | This command is an alias for 'glGetColorTableParameteriv'.
 glGetColorTableParameterivEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-GL-Groups.html#GetColorTableParameterPNameSGI).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetColorTableParameterivEXT v1 v2 v3 = liftIO $ dyn136 ptr_glGetColorTableParameterivEXT v1 v2 v3
@@ -1139,7 +1178,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @table@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetColorTableSGI v1 v2 v3 v4 = liftIO $ dyn324 ptr_glGetColorTableSGI v1 v2 v3 v4
+glGetColorTableSGI v1 v2 v3 v4 = liftIO $ dyn325 ptr_glGetColorTableSGI v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetColorTableSGI #-}
 ptr_glGetColorTableSGI :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1155,7 +1194,7 @@
   -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5 = liftIO $ dyn325 ptr_glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5
+glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5 = liftIO $ dyn326 ptr_glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetCombinerInputParameterfvNV #-}
 ptr_glGetCombinerInputParameterfvNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -1171,7 +1210,7 @@
   -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetCombinerInputParameterivNV v1 v2 v3 v4 v5 = liftIO $ dyn326 ptr_glGetCombinerInputParameterivNV v1 v2 v3 v4 v5
+glGetCombinerInputParameterivNV v1 v2 v3 v4 v5 = liftIO $ dyn327 ptr_glGetCombinerInputParameterivNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetCombinerInputParameterivNV #-}
 ptr_glGetCombinerInputParameterivNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -1186,7 +1225,7 @@
   -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetCombinerOutputParameterfvNV v1 v2 v3 v4 = liftIO $ dyn327 ptr_glGetCombinerOutputParameterfvNV v1 v2 v3 v4
+glGetCombinerOutputParameterfvNV v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetCombinerOutputParameterfvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetCombinerOutputParameterfvNV #-}
 ptr_glGetCombinerOutputParameterfvNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -1201,7 +1240,7 @@
   -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetCombinerOutputParameterivNV v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetCombinerOutputParameterivNV v1 v2 v3 v4
+glGetCombinerOutputParameterivNV v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetCombinerOutputParameterivNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetCombinerOutputParameterivNV #-}
 ptr_glGetCombinerOutputParameterivNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -1228,7 +1267,7 @@
   => GLenum -- ^ @tokenID@.
   -> GLuint -- ^ @size@.
   -> m GLuint
-glGetCommandHeaderNV v1 v2 = liftIO $ dyn329 ptr_glGetCommandHeaderNV v1 v2
+glGetCommandHeaderNV v1 v2 = liftIO $ dyn330 ptr_glGetCommandHeaderNV v1 v2
 
 {-# NOINLINE ptr_glGetCommandHeaderNV #-}
 ptr_glGetCommandHeaderNV :: FunPtr (GLenum -> GLuint -> IO GLuint)
@@ -1238,12 +1277,12 @@
 
 glGetCompressedMultiTexImageEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @lod@ of type @CheckedInt32@.
   -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,lod)@ elements of type @a@.
   -> m ()
-glGetCompressedMultiTexImageEXT v1 v2 v3 v4 = liftIO $ dyn330 ptr_glGetCompressedMultiTexImageEXT v1 v2 v3 v4
+glGetCompressedMultiTexImageEXT v1 v2 v3 v4 = liftIO $ dyn331 ptr_glGetCompressedMultiTexImageEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetCompressedMultiTexImageEXT #-}
 ptr_glGetCompressedMultiTexImageEXT :: FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> IO ())
@@ -1258,7 +1297,7 @@
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,level)@ elements of type @CompressedTextureARB@.
   -> m ()
-glGetCompressedTexImage v1 v2 v3 = liftIO $ dyn331 ptr_glGetCompressedTexImage v1 v2 v3
+glGetCompressedTexImage v1 v2 v3 = liftIO $ dyn332 ptr_glGetCompressedTexImage v1 v2 v3
 
 {-# NOINLINE ptr_glGetCompressedTexImage #-}
 ptr_glGetCompressedTexImage :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
@@ -1273,7 +1312,7 @@
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,level)@ elements of type @CompressedTextureARB@.
   -> m ()
-glGetCompressedTexImageARB v1 v2 v3 = liftIO $ dyn331 ptr_glGetCompressedTexImageARB v1 v2 v3
+glGetCompressedTexImageARB v1 v2 v3 = liftIO $ dyn332 ptr_glGetCompressedTexImageARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetCompressedTexImageARB #-}
 ptr_glGetCompressedTexImageARB :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
@@ -1289,7 +1328,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @pixels@.
   -> m ()
-glGetCompressedTextureImage v1 v2 v3 v4 = liftIO $ dyn332 ptr_glGetCompressedTextureImage v1 v2 v3 v4
+glGetCompressedTextureImage v1 v2 v3 v4 = liftIO $ dyn333 ptr_glGetCompressedTextureImage v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetCompressedTextureImage #-}
 ptr_glGetCompressedTextureImage :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr a -> IO ())
@@ -1304,7 +1343,7 @@
   -> GLint -- ^ @lod@ of type @CheckedInt32@.
   -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,lod)@ elements of type @a@.
   -> m ()
-glGetCompressedTextureImageEXT v1 v2 v3 v4 = liftIO $ dyn333 ptr_glGetCompressedTextureImageEXT v1 v2 v3 v4
+glGetCompressedTextureImageEXT v1 v2 v3 v4 = liftIO $ dyn334 ptr_glGetCompressedTextureImageEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetCompressedTextureImageEXT #-}
 ptr_glGetCompressedTextureImageEXT :: FunPtr (GLuint -> GLenum -> GLint -> Ptr a -> IO ())
@@ -1326,7 +1365,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @pixels@.
   -> m ()
-glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn334 ptr_glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn335 ptr_glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
 {-# NOINLINE ptr_glGetCompressedTextureSubImage #-}
 ptr_glGetCompressedTextureSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ())
@@ -1337,12 +1376,12 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionFilter.xml OpenGL 2.x>.
 glGetConvolutionFilter
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @image@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetConvolutionFilter v1 v2 v3 v4 = liftIO $ dyn324 ptr_glGetConvolutionFilter v1 v2 v3 v4
+glGetConvolutionFilter v1 v2 v3 v4 = liftIO $ dyn325 ptr_glGetConvolutionFilter v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetConvolutionFilter #-}
 ptr_glGetConvolutionFilter :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1357,7 +1396,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @image@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetConvolutionFilterEXT v1 v2 v3 v4 = liftIO $ dyn324 ptr_glGetConvolutionFilterEXT v1 v2 v3 v4
+glGetConvolutionFilterEXT v1 v2 v3 v4 = liftIO $ dyn325 ptr_glGetConvolutionFilterEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetConvolutionFilterEXT #-}
 ptr_glGetConvolutionFilterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1368,8 +1407,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionParameter.xml OpenGL 2.x>.
 glGetConvolutionParameterfv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @GetConvolutionParameterPName@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetConvolutionParameterfv v1 v2 v3 = liftIO $ dyn135 ptr_glGetConvolutionParameterfv v1 v2 v3
@@ -1397,8 +1436,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionParameter.xml OpenGL 2.x>.
 glGetConvolutionParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @GetConvolutionParameterPName@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetConvolutionParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glGetConvolutionParameteriv v1 v2 v3
@@ -1455,14 +1494,14 @@
   :: MonadIO m
   => GLuint -- ^ @count@.
   -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type [DebugType](Graphics-GL-Groups.html#DebugType).
   -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
   -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
   -> m GLuint
-glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn335 ptr_glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8
+glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn336 ptr_glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glGetDebugMessageLog #-}
 ptr_glGetDebugMessageLog :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
@@ -1475,12 +1514,12 @@
   => GLuint -- ^ @count@.
   -> GLsizei -- ^ @bufsize@.
   -> Ptr GLenum -- ^ @categories@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLuint -- ^ @severities@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLuint -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
   -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
   -> Ptr GLchar -- ^ @message@ pointing to @bufsize@ elements of type @GLchar@.
   -> m GLuint
-glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn336 ptr_glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7
+glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn337 ptr_glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetDebugMessageLogAMD #-}
 ptr_glGetDebugMessageLogAMD :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
@@ -1493,14 +1532,14 @@
   :: MonadIO m
   => GLuint -- ^ @count@.
   -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type [DebugType](Graphics-GL-Groups.html#DebugType).
   -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
   -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
   -> m GLuint
-glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn335 ptr_glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8
+glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn336 ptr_glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glGetDebugMessageLogARB #-}
 ptr_glGetDebugMessageLogARB :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
@@ -1513,14 +1552,14 @@
   :: MonadIO m
   => GLuint -- ^ @count@.
   -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
+  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type [DebugType](Graphics-GL-Groups.html#DebugType).
   -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type [DebugSeverity](Graphics-GL-Groups.html#DebugSeverity).
   -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
   -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
   -> m GLuint
-glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn335 ptr_glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8
+glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn336 ptr_glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glGetDebugMessageLogKHR #-}
 ptr_glGetDebugMessageLogKHR :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
@@ -1544,11 +1583,11 @@
 -- | This command is an alias for 'glGetDoublei_v'.
 glGetDoubleIndexedvEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
   -> m ()
-glGetDoubleIndexedvEXT v1 v2 v3 = liftIO $ dyn337 ptr_glGetDoubleIndexedvEXT v1 v2 v3
+glGetDoubleIndexedvEXT v1 v2 v3 = liftIO $ dyn338 ptr_glGetDoubleIndexedvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetDoubleIndexedvEXT #-}
 ptr_glGetDoubleIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -1559,11 +1598,11 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
 glGetDoublei_v
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
   -> m ()
-glGetDoublei_v v1 v2 v3 = liftIO $ dyn337 ptr_glGetDoublei_v v1 v2 v3
+glGetDoublei_v v1 v2 v3 = liftIO $ dyn338 ptr_glGetDoublei_v v1 v2 v3
 
 {-# NOINLINE ptr_glGetDoublei_v #-}
 ptr_glGetDoublei_v :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -1574,56 +1613,13 @@
 -- | This command is an alias for 'glGetDoublei_v'.
 glGetDoublei_vEXT
   :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TypeEnum@.
+  => GLenum -- ^ @pname@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glGetDoublei_vEXT v1 v2 v3 = liftIO $ dyn337 ptr_glGetDoublei_vEXT v1 v2 v3
+glGetDoublei_vEXT v1 v2 v3 = liftIO $ dyn338 ptr_glGetDoublei_vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetDoublei_vEXT #-}
 ptr_glGetDoublei_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
 ptr_glGetDoublei_vEXT = unsafePerformIO $ getCommand "glGetDoublei_vEXT"
-
--- glGetDoublev ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetDoublev
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
-  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetDoublev v1 v2 = liftIO $ dyn96 ptr_glGetDoublev v1 v2
-
-{-# NOINLINE ptr_glGetDoublev #-}
-ptr_glGetDoublev :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetDoublev = unsafePerformIO $ getCommand "glGetDoublev"
-
--- glGetDriverControlStringQCOM ------------------------------------------------
-
-glGetDriverControlStringQCOM
-  :: MonadIO m
-  => GLuint -- ^ @driverControl@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @driverControlString@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetDriverControlStringQCOM v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetDriverControlStringQCOM v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetDriverControlStringQCOM #-}
-ptr_glGetDriverControlStringQCOM :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetDriverControlStringQCOM = unsafePerformIO $ getCommand "glGetDriverControlStringQCOM"
-
--- glGetDriverControlsQCOM -----------------------------------------------------
-
-glGetDriverControlsQCOM
-  :: MonadIO m
-  => Ptr GLint -- ^ @num@.
-  -> GLsizei -- ^ @size@.
-  -> Ptr GLuint -- ^ @driverControls@ pointing to @size@ elements of type @GLuint@.
-  -> m ()
-glGetDriverControlsQCOM v1 v2 v3 = liftIO $ dyn339 ptr_glGetDriverControlsQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glGetDriverControlsQCOM #-}
-ptr_glGetDriverControlsQCOM :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetDriverControlsQCOM = unsafePerformIO $ getCommand "glGetDriverControlsQCOM"
 
diff --git a/src/Graphics/GL/Functions/F10.hs b/src/Graphics/GL/Functions/F10.hs
--- a/src/Graphics/GL/Functions/F10.hs
+++ b/src/Graphics/GL/Functions/F10.hs
@@ -15,6 +15,9 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F10 (
+  glGetDoublev,
+  glGetDriverControlStringQCOM,
+  glGetDriverControlsQCOM,
   glGetError,
   glGetFenceivNV,
   glGetFinalCombinerInputParameterfvNV,
@@ -111,10 +114,7 @@
   glGetMultiTexEnvfvEXT,
   glGetMultiTexEnvivEXT,
   glGetMultiTexGendvEXT,
-  glGetMultiTexGenfvEXT,
-  glGetMultiTexGenivEXT,
-  glGetMultiTexImageEXT,
-  glGetMultiTexLevelParameterfvEXT
+  glGetMultiTexGenfvEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,13 +123,56 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glGetDoublev ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetDoublev
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
+  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetDoublev v1 v2 = liftIO $ dyn96 ptr_glGetDoublev v1 v2
+
+{-# NOINLINE ptr_glGetDoublev #-}
+ptr_glGetDoublev :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetDoublev = unsafePerformIO $ getCommand "glGetDoublev"
+
+-- glGetDriverControlStringQCOM ------------------------------------------------
+
+glGetDriverControlStringQCOM
+  :: MonadIO m
+  => GLuint -- ^ @driverControl@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @driverControlString@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetDriverControlStringQCOM v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetDriverControlStringQCOM v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetDriverControlStringQCOM #-}
+ptr_glGetDriverControlStringQCOM :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetDriverControlStringQCOM = unsafePerformIO $ getCommand "glGetDriverControlStringQCOM"
+
+-- glGetDriverControlsQCOM -----------------------------------------------------
+
+glGetDriverControlsQCOM
+  :: MonadIO m
+  => Ptr GLint -- ^ @num@.
+  -> GLsizei -- ^ @size@.
+  -> Ptr GLuint -- ^ @driverControls@ pointing to @size@ elements of type @GLuint@.
+  -> m ()
+glGetDriverControlsQCOM v1 v2 v3 = liftIO $ dyn340 ptr_glGetDriverControlsQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glGetDriverControlsQCOM #-}
+ptr_glGetDriverControlsQCOM :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetDriverControlsQCOM = unsafePerformIO $ getCommand "glGetDriverControlsQCOM"
+
 -- glGetError ------------------------------------------------------------------
 
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetError.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetError.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetError.xhtml OpenGL 4.x>.
 glGetError
   :: MonadIO m
   => m GLenum -- ^ of type [ErrorCode](Graphics-GL-Groups.html#ErrorCode).
-glGetError = liftIO $ dyn340 ptr_glGetError
+glGetError = liftIO $ dyn341 ptr_glGetError
 
 {-# NOINLINE ptr_glGetError #-}
 ptr_glGetError :: FunPtr (IO GLenum)
@@ -143,7 +186,7 @@
   -> GLenum -- ^ @pname@ of type @FenceParameterNameNV@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetFenceivNV v1 v2 v3 = liftIO $ dyn341 ptr_glGetFenceivNV v1 v2 v3
+glGetFenceivNV v1 v2 v3 = liftIO $ dyn342 ptr_glGetFenceivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetFenceivNV #-}
 ptr_glGetFenceivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -193,7 +236,7 @@
 
 glGetFixedv
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
   -> Ptr GLfixed -- ^ @params@.
   -> m ()
 glGetFixedv v1 v2 = liftIO $ dyn98 ptr_glGetFixedv v1 v2
@@ -206,7 +249,7 @@
 
 glGetFixedvOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetFixedvOES v1 v2 = liftIO $ dyn98 ptr_glGetFixedvOES v1 v2
@@ -220,11 +263,11 @@
 -- | This command is an alias for 'glGetFloati_v'.
 glGetFloatIndexedvEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
   -> m ()
-glGetFloatIndexedvEXT v1 v2 v3 = liftIO $ dyn271 ptr_glGetFloatIndexedvEXT v1 v2 v3
+glGetFloatIndexedvEXT v1 v2 v3 = liftIO $ dyn272 ptr_glGetFloatIndexedvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetFloatIndexedvEXT #-}
 ptr_glGetFloatIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -235,11 +278,11 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
 glGetFloati_v
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
   -> m ()
-glGetFloati_v v1 v2 v3 = liftIO $ dyn271 ptr_glGetFloati_v v1 v2 v3
+glGetFloati_v v1 v2 v3 = liftIO $ dyn272 ptr_glGetFloati_v v1 v2 v3
 
 {-# NOINLINE ptr_glGetFloati_v #-}
 ptr_glGetFloati_v :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -250,11 +293,11 @@
 -- | This command is an alias for 'glGetFloati_v'.
 glGetFloati_vEXT
   :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TypeEnum@.
+  => GLenum -- ^ @pname@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetFloati_vEXT v1 v2 v3 = liftIO $ dyn271 ptr_glGetFloati_vEXT v1 v2 v3
+glGetFloati_vEXT v1 v2 v3 = liftIO $ dyn272 ptr_glGetFloati_vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetFloati_vEXT #-}
 ptr_glGetFloati_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -265,11 +308,11 @@
 -- | This command is an alias for 'glGetFloati_v'.
 glGetFloati_vNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
   -> m ()
-glGetFloati_vNV v1 v2 v3 = liftIO $ dyn271 ptr_glGetFloati_vNV v1 v2 v3
+glGetFloati_vNV v1 v2 v3 = liftIO $ dyn272 ptr_glGetFloati_vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetFloati_vNV #-}
 ptr_glGetFloati_vNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -280,11 +323,11 @@
 -- | This command is an alias for 'glGetFloati_v'.
 glGetFloati_vOES
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
   -> m ()
-glGetFloati_vOES v1 v2 v3 = liftIO $ dyn271 ptr_glGetFloati_vOES v1 v2 v3
+glGetFloati_vOES v1 v2 v3 = liftIO $ dyn272 ptr_glGetFloati_vOES v1 v2 v3
 
 {-# NOINLINE ptr_glGetFloati_vOES #-}
 ptr_glGetFloati_vOES :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -324,7 +367,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @name@.
   -> m GLint
-glGetFragDataIndex v1 v2 = liftIO $ dyn317 ptr_glGetFragDataIndex v1 v2
+glGetFragDataIndex v1 v2 = liftIO $ dyn318 ptr_glGetFragDataIndex v1 v2
 
 {-# NOINLINE ptr_glGetFragDataIndex #-}
 ptr_glGetFragDataIndex :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
@@ -338,7 +381,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @name@.
   -> m GLint
-glGetFragDataIndexEXT v1 v2 = liftIO $ dyn317 ptr_glGetFragDataIndexEXT v1 v2
+glGetFragDataIndexEXT v1 v2 = liftIO $ dyn318 ptr_glGetFragDataIndexEXT v1 v2
 
 {-# NOINLINE ptr_glGetFragDataIndexEXT #-}
 ptr_glGetFragDataIndexEXT :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
@@ -352,7 +395,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLint
-glGetFragDataLocation v1 v2 = liftIO $ dyn317 ptr_glGetFragDataLocation v1 v2
+glGetFragDataLocation v1 v2 = liftIO $ dyn318 ptr_glGetFragDataLocation v1 v2
 
 {-# NOINLINE ptr_glGetFragDataLocation #-}
 ptr_glGetFragDataLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
@@ -366,7 +409,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLint
-glGetFragDataLocationEXT v1 v2 = liftIO $ dyn317 ptr_glGetFragDataLocationEXT v1 v2
+glGetFragDataLocationEXT v1 v2 = liftIO $ dyn318 ptr_glGetFragDataLocationEXT v1 v2
 
 {-# NOINLINE ptr_glGetFragDataLocationEXT #-}
 ptr_glGetFragDataLocationEXT :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
@@ -433,12 +476,12 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFramebufferAttachmentParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml OpenGL 4.x>.
 glGetFramebufferAttachmentParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetFramebufferAttachmentParameteriv v1 v2 v3 v4
+glGetFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetFramebufferAttachmentParameteriv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetFramebufferAttachmentParameteriv #-}
 ptr_glGetFramebufferAttachmentParameteriv :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -449,12 +492,12 @@
 -- | This command is an alias for 'glGetFramebufferAttachmentParameteriv'.
 glGetFramebufferAttachmentParameterivEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4
+glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetFramebufferAttachmentParameterivEXT #-}
 ptr_glGetFramebufferAttachmentParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -464,12 +507,12 @@
 
 glGetFramebufferAttachmentParameterivOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4
+glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetFramebufferAttachmentParameterivOES #-}
 ptr_glGetFramebufferAttachmentParameterivOES :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -479,14 +522,14 @@
 
 glGetFramebufferParameterfvAMD
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
   -> GLuint -- ^ @numsamples@.
   -> GLuint -- ^ @pixelindex@.
   -> GLsizei -- ^ @size@.
   -> Ptr GLfloat -- ^ @values@.
   -> m ()
-glGetFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6 = liftIO $ dyn342 ptr_glGetFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6
+glGetFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6 = liftIO $ dyn343 ptr_glGetFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetFramebufferParameterfvAMD #-}
 ptr_glGetFramebufferParameterfvAMD :: FunPtr (GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -497,8 +540,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferParameter.xhtml OpenGL 4.x>.
 glGetFramebufferParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
+  -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetFramebufferParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glGetFramebufferParameteriv v1 v2 v3
@@ -512,10 +555,10 @@
 glGetFramebufferParameterivEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @pname@ of type @GetFramebufferParameter@.
+  -> GLenum -- ^ @pname@ of type [GetFramebufferParameter](Graphics-GL-Groups.html#GetFramebufferParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetFramebufferParameterivEXT v1 v2 v3
+glGetFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetFramebufferParameterivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetFramebufferParameterivEXT #-}
 ptr_glGetFramebufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -525,9 +568,9 @@
 
 glGetFramebufferPixelLocalStorageSizeEXT
   :: MonadIO m
-  => GLuint -- ^ @target@.
+  => GLuint -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> m GLsizei
-glGetFramebufferPixelLocalStorageSizeEXT v1 = liftIO $ dyn343 ptr_glGetFramebufferPixelLocalStorageSizeEXT v1
+glGetFramebufferPixelLocalStorageSizeEXT v1 = liftIO $ dyn344 ptr_glGetFramebufferPixelLocalStorageSizeEXT v1
 
 {-# NOINLINE ptr_glGetFramebufferPixelLocalStorageSizeEXT #-}
 ptr_glGetFramebufferPixelLocalStorageSizeEXT :: FunPtr (GLuint -> IO GLsizei)
@@ -538,8 +581,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetGraphicsResetStatus.xhtml OpenGL 4.x>.
 glGetGraphicsResetStatus
   :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatus = liftIO $ dyn340 ptr_glGetGraphicsResetStatus
+  => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
+glGetGraphicsResetStatus = liftIO $ dyn341 ptr_glGetGraphicsResetStatus
 
 {-# NOINLINE ptr_glGetGraphicsResetStatus #-}
 ptr_glGetGraphicsResetStatus :: FunPtr (IO GLenum)
@@ -549,8 +592,8 @@
 
 glGetGraphicsResetStatusARB
   :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatusARB = liftIO $ dyn340 ptr_glGetGraphicsResetStatusARB
+  => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
+glGetGraphicsResetStatusARB = liftIO $ dyn341 ptr_glGetGraphicsResetStatusARB
 
 {-# NOINLINE ptr_glGetGraphicsResetStatusARB #-}
 ptr_glGetGraphicsResetStatusARB :: FunPtr (IO GLenum)
@@ -558,11 +601,10 @@
 
 -- glGetGraphicsResetStatusEXT -------------------------------------------------
 
--- | This command is an alias for 'glGetGraphicsResetStatus'.
 glGetGraphicsResetStatusEXT
   :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatusEXT = liftIO $ dyn340 ptr_glGetGraphicsResetStatusEXT
+  => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
+glGetGraphicsResetStatusEXT = liftIO $ dyn341 ptr_glGetGraphicsResetStatusEXT
 
 {-# NOINLINE ptr_glGetGraphicsResetStatusEXT #-}
 ptr_glGetGraphicsResetStatusEXT :: FunPtr (IO GLenum)
@@ -573,8 +615,8 @@
 -- | This command is an alias for 'glGetGraphicsResetStatus'.
 glGetGraphicsResetStatusKHR
   :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatusKHR = liftIO $ dyn340 ptr_glGetGraphicsResetStatusKHR
+  => m GLenum -- ^ of type [GraphicsResetStatus](Graphics-GL-Groups.html#GraphicsResetStatus).
+glGetGraphicsResetStatusKHR = liftIO $ dyn341 ptr_glGetGraphicsResetStatusKHR
 
 {-# NOINLINE ptr_glGetGraphicsResetStatusKHR #-}
 ptr_glGetGraphicsResetStatusKHR :: FunPtr (IO GLenum)
@@ -597,13 +639,13 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogram.xml OpenGL 2.x>.
 glGetHistogram
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
   -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetHistogram v1 v2 v3 v4 v5 = liftIO $ dyn344 ptr_glGetHistogram v1 v2 v3 v4 v5
+glGetHistogram v1 v2 v3 v4 v5 = liftIO $ dyn345 ptr_glGetHistogram v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetHistogram #-}
 ptr_glGetHistogram :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -619,7 +661,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetHistogramEXT v1 v2 v3 v4 v5 = liftIO $ dyn344 ptr_glGetHistogramEXT v1 v2 v3 v4 v5
+glGetHistogramEXT v1 v2 v3 v4 v5 = liftIO $ dyn345 ptr_glGetHistogramEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetHistogramEXT #-}
 ptr_glGetHistogramEXT :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -630,8 +672,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
 glGetHistogramParameterfv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
-  -> GLenum -- ^ @pname@ of type @GetHistogramParameterPName@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetHistogramParameterfv v1 v2 v3 = liftIO $ dyn135 ptr_glGetHistogramParameterfv v1 v2 v3
@@ -659,8 +701,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
 glGetHistogramParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
-  -> GLenum -- ^ @pname@ of type @GetHistogramParameterPName@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetHistogramParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glGetHistogramParameteriv v1 v2 v3
@@ -687,8 +729,8 @@
 
 glGetHistogramParameterxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetHistogramParameterxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetHistogramParameterxvOES v1 v2 v3
@@ -705,9 +747,9 @@
   -> GLint -- ^ @level@.
   -> GLboolean -- ^ @layered@.
   -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> m GLuint64
-glGetImageHandleARB v1 v2 v3 v4 v5 = liftIO $ dyn345 ptr_glGetImageHandleARB v1 v2 v3 v4 v5
+glGetImageHandleARB v1 v2 v3 v4 v5 = liftIO $ dyn346 ptr_glGetImageHandleARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetImageHandleARB #-}
 ptr_glGetImageHandleARB :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
@@ -721,9 +763,9 @@
   -> GLint -- ^ @level@.
   -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> m GLuint64
-glGetImageHandleNV v1 v2 v3 v4 v5 = liftIO $ dyn345 ptr_glGetImageHandleNV v1 v2 v3 v4 v5
+glGetImageHandleNV v1 v2 v3 v4 v5 = liftIO $ dyn346 ptr_glGetImageHandleNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetImageHandleNV #-}
 ptr_glGetImageHandleNV :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
@@ -766,7 +808,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLcharARB -- ^ @infoLog@ pointing to @maxLength@ elements of type @GLcharARB@.
   -> m ()
-glGetInfoLogARB v1 v2 v3 v4 = liftIO $ dyn346 ptr_glGetInfoLogARB v1 v2 v3 v4
+glGetInfoLogARB v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetInfoLogARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetInfoLogARB #-}
 ptr_glGetInfoLogARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
@@ -777,7 +819,7 @@
 glGetInstrumentsSGIX
   :: MonadIO m
   => m GLint
-glGetInstrumentsSGIX = liftIO $ dyn347 ptr_glGetInstrumentsSGIX
+glGetInstrumentsSGIX = liftIO $ dyn348 ptr_glGetInstrumentsSGIX
 
 {-# NOINLINE ptr_glGetInstrumentsSGIX #-}
 ptr_glGetInstrumentsSGIX :: FunPtr (IO GLint)
@@ -788,11 +830,11 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
 glGetInteger64i_v
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint64@.
   -> m ()
-glGetInteger64i_v v1 v2 v3 = liftIO $ dyn348 ptr_glGetInteger64i_v v1 v2 v3
+glGetInteger64i_v v1 v2 v3 = liftIO $ dyn349 ptr_glGetInteger64i_v v1 v2 v3
 
 {-# NOINLINE ptr_glGetInteger64i_v #-}
 ptr_glGetInteger64i_v :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
@@ -803,10 +845,10 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
 glGetInteger64v
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
   -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
   -> m ()
-glGetInteger64v v1 v2 = liftIO $ dyn349 ptr_glGetInteger64v v1 v2
+glGetInteger64v v1 v2 = liftIO $ dyn350 ptr_glGetInteger64v v1 v2
 
 {-# NOINLINE ptr_glGetInteger64v #-}
 ptr_glGetInteger64v :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
@@ -817,10 +859,10 @@
 -- | This command is an alias for 'glGetInteger64v'.
 glGetInteger64vAPPLE
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
   -> Ptr GLint64 -- ^ @params@.
   -> m ()
-glGetInteger64vAPPLE v1 v2 = liftIO $ dyn349 ptr_glGetInteger64vAPPLE v1 v2
+glGetInteger64vAPPLE v1 v2 = liftIO $ dyn350 ptr_glGetInteger64vAPPLE v1 v2
 
 {-# NOINLINE ptr_glGetInteger64vAPPLE #-}
 ptr_glGetInteger64vAPPLE :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
@@ -835,7 +877,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
   -> m ()
-glGetIntegerIndexedvEXT v1 v2 v3 = liftIO $ dyn350 ptr_glGetIntegerIndexedvEXT v1 v2 v3
+glGetIntegerIndexedvEXT v1 v2 v3 = liftIO $ dyn351 ptr_glGetIntegerIndexedvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetIntegerIndexedvEXT #-}
 ptr_glGetIntegerIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -846,11 +888,11 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
 glGetIntegeri_v
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
   -> m ()
-glGetIntegeri_v v1 v2 v3 = liftIO $ dyn350 ptr_glGetIntegeri_v v1 v2 v3
+glGetIntegeri_v v1 v2 v3 = liftIO $ dyn351 ptr_glGetIntegeri_v v1 v2 v3
 
 {-# NOINLINE ptr_glGetIntegeri_v #-}
 ptr_glGetIntegeri_v :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -860,11 +902,11 @@
 
 glGetIntegeri_vEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @data@.
   -> m ()
-glGetIntegeri_vEXT v1 v2 v3 = liftIO $ dyn350 ptr_glGetIntegeri_vEXT v1 v2 v3
+glGetIntegeri_vEXT v1 v2 v3 = liftIO $ dyn351 ptr_glGetIntegeri_vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetIntegeri_vEXT #-}
 ptr_glGetIntegeri_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -878,7 +920,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
   -> m ()
-glGetIntegerui64i_vNV v1 v2 v3 = liftIO $ dyn351 ptr_glGetIntegerui64i_vNV v1 v2 v3
+glGetIntegerui64i_vNV v1 v2 v3 = liftIO $ dyn352 ptr_glGetIntegerui64i_vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetIntegerui64i_vNV #-}
 ptr_glGetIntegerui64i_vNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
@@ -891,7 +933,7 @@
   => GLenum -- ^ @value@.
   -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
   -> m ()
-glGetIntegerui64vNV v1 v2 = liftIO $ dyn352 ptr_glGetIntegerui64vNV v1 v2
+glGetIntegerui64vNV v1 v2 = liftIO $ dyn353 ptr_glGetIntegerui64vNV v1 v2
 
 {-# NOINLINE ptr_glGetIntegerui64vNV #-}
 ptr_glGetIntegerui64vNV :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
@@ -915,14 +957,14 @@
 
 glGetInternalformatSampleivNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [InternalFormatPName](Graphics-GL-Groups.html#InternalFormatPName).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn353 ptr_glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6
+glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn354 ptr_glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetInternalformatSampleivNV #-}
 ptr_glGetInternalformatSampleivNV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ())
@@ -933,13 +975,13 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
 glGetInternalformati64v
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLenum -- ^ @pname@ of type [InternalFormatPName](Graphics-GL-Groups.html#InternalFormatPName).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint64 -- ^ @params@ pointing to @bufSize@ elements of type @GLint64@.
   -> m ()
-glGetInternalformati64v v1 v2 v3 v4 v5 = liftIO $ dyn354 ptr_glGetInternalformati64v v1 v2 v3 v4 v5
+glGetInternalformati64v v1 v2 v3 v4 v5 = liftIO $ dyn355 ptr_glGetInternalformati64v v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetInternalformati64v #-}
 ptr_glGetInternalformati64v :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
@@ -950,13 +992,13 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
 glGetInternalformativ
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLenum -- ^ @pname@ of type [InternalFormatPName](Graphics-GL-Groups.html#InternalFormatPName).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetInternalformativ v1 v2 v3 v4 v5 = liftIO $ dyn355 ptr_glGetInternalformativ v1 v2 v3 v4 v5
+glGetInternalformativ v1 v2 v3 v4 v5 = liftIO $ dyn356 ptr_glGetInternalformativ v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetInternalformativ #-}
 ptr_glGetInternalformativ :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
@@ -970,7 +1012,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glGetInvariantBooleanvEXT v1 v2 v3 = liftIO $ dyn356 ptr_glGetInvariantBooleanvEXT v1 v2 v3
+glGetInvariantBooleanvEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetInvariantBooleanvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetInvariantBooleanvEXT #-}
 ptr_glGetInvariantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
@@ -984,7 +1026,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
   -> m ()
-glGetInvariantFloatvEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetInvariantFloatvEXT v1 v2 v3
+glGetInvariantFloatvEXT v1 v2 v3 = liftIO $ dyn358 ptr_glGetInvariantFloatvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetInvariantFloatvEXT #-}
 ptr_glGetInvariantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -998,7 +1040,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
   -> m ()
-glGetInvariantIntegervEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetInvariantIntegervEXT v1 v2 v3
+glGetInvariantIntegervEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetInvariantIntegervEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetInvariantIntegervEXT #-}
 ptr_glGetInvariantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1038,8 +1080,8 @@
 
 glGetLightxOES
   :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetLightxOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetLightxOES v1 v2 v3
@@ -1052,8 +1094,8 @@
 
 glGetLightxv
   :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetLightxv v1 v2 v3 = liftIO $ dyn166 ptr_glGetLightxv v1 v2 v3
@@ -1066,8 +1108,8 @@
 
 glGetLightxvOES
   :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetLightxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetLightxvOES v1 v2 v3
@@ -1084,7 +1126,7 @@
   -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
-glGetListParameterfvSGIX v1 v2 v3 = liftIO $ dyn357 ptr_glGetListParameterfvSGIX v1 v2 v3
+glGetListParameterfvSGIX v1 v2 v3 = liftIO $ dyn358 ptr_glGetListParameterfvSGIX v1 v2 v3
 
 {-# NOINLINE ptr_glGetListParameterfvSGIX #-}
 ptr_glGetListParameterfvSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1098,7 +1140,7 @@
   -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glGetListParameterivSGIX v1 v2 v3 = liftIO $ dyn341 ptr_glGetListParameterivSGIX v1 v2 v3
+glGetListParameterivSGIX v1 v2 v3 = liftIO $ dyn342 ptr_glGetListParameterivSGIX v1 v2 v3
 
 {-# NOINLINE ptr_glGetListParameterivSGIX #-}
 ptr_glGetListParameterivSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1112,7 +1154,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glGetLocalConstantBooleanvEXT v1 v2 v3 = liftIO $ dyn356 ptr_glGetLocalConstantBooleanvEXT v1 v2 v3
+glGetLocalConstantBooleanvEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetLocalConstantBooleanvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetLocalConstantBooleanvEXT #-}
 ptr_glGetLocalConstantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
@@ -1126,7 +1168,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
   -> m ()
-glGetLocalConstantFloatvEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetLocalConstantFloatvEXT v1 v2 v3
+glGetLocalConstantFloatvEXT v1 v2 v3 = liftIO $ dyn358 ptr_glGetLocalConstantFloatvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetLocalConstantFloatvEXT #-}
 ptr_glGetLocalConstantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1140,7 +1182,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
   -> m ()
-glGetLocalConstantIntegervEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetLocalConstantIntegervEXT v1 v2 v3
+glGetLocalConstantIntegervEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetLocalConstantIntegervEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetLocalConstantIntegervEXT #-}
 ptr_glGetLocalConstantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1155,7 +1197,7 @@
   -> GLenum -- ^ @pname@ of type @MapAttribParameterNV@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetMapAttribParameterfvNV v1 v2 v3 v4 = liftIO $ dyn358 ptr_glGetMapAttribParameterfvNV v1 v2 v3 v4
+glGetMapAttribParameterfvNV v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetMapAttribParameterfvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMapAttribParameterfvNV #-}
 ptr_glGetMapAttribParameterfvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1170,7 +1212,7 @@
   -> GLenum -- ^ @pname@ of type @MapAttribParameterNV@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetMapAttribParameterivNV v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetMapAttribParameterivNV v1 v2 v3 v4
+glGetMapAttribParameterivNV v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetMapAttribParameterivNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMapAttribParameterivNV #-}
 ptr_glGetMapAttribParameterivNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1188,7 +1230,7 @@
   -> GLboolean -- ^ @packed@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr a -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @a@.
   -> m ()
-glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn360 ptr_glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7
+glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn361 ptr_glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetMapControlPointsNV #-}
 ptr_glGetMapControlPointsNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ())
@@ -1231,7 +1273,7 @@
   -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
   -> Ptr GLdouble -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLdouble@.
   -> m ()
-glGetMapdv v1 v2 v3 = liftIO $ dyn361 ptr_glGetMapdv v1 v2 v3
+glGetMapdv v1 v2 v3 = liftIO $ dyn362 ptr_glGetMapdv v1 v2 v3
 
 {-# NOINLINE ptr_glGetMapdv #-}
 ptr_glGetMapdv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
@@ -1271,8 +1313,8 @@
 
 glGetMapxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
   -> Ptr GLfixed -- ^ @v@ pointing to @COMPSIZE(query)@ elements of type @GLfixed@.
   -> m ()
 glGetMapxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetMapxvOES v1 v2 v3
@@ -1315,8 +1357,8 @@
 
 glGetMaterialxOES
   :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glGetMaterialxOES v1 v2 v3 = liftIO $ dyn165 ptr_glGetMaterialxOES v1 v2 v3
@@ -1329,8 +1371,8 @@
 
 glGetMaterialxv
   :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetMaterialxv v1 v2 v3 = liftIO $ dyn166 ptr_glGetMaterialxv v1 v2 v3
@@ -1343,8 +1385,8 @@
 
 glGetMaterialxvOES
   :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetMaterialxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetMaterialxvOES v1 v2 v3
@@ -1361,7 +1403,7 @@
   -> GLenum -- ^ @pname@ of type [MemoryObjectParameterName](Graphics-GL-Groups.html#MemoryObjectParameterName).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetMemoryObjectParameterivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetMemoryObjectParameterivEXT v1 v2 v3
+glGetMemoryObjectParameterivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetMemoryObjectParameterivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetMemoryObjectParameterivEXT #-}
 ptr_glGetMemoryObjectParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1372,13 +1414,13 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmax.xml OpenGL 2.x>.
 glGetMinmax
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
   -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetMinmax v1 v2 v3 v4 v5 = liftIO $ dyn344 ptr_glGetMinmax v1 v2 v3 v4 v5
+glGetMinmax v1 v2 v3 v4 v5 = liftIO $ dyn345 ptr_glGetMinmax v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetMinmax #-}
 ptr_glGetMinmax :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1394,7 +1436,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> m ()
-glGetMinmaxEXT v1 v2 v3 v4 v5 = liftIO $ dyn344 ptr_glGetMinmaxEXT v1 v2 v3 v4 v5
+glGetMinmaxEXT v1 v2 v3 v4 v5 = liftIO $ dyn345 ptr_glGetMinmaxEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetMinmaxEXT #-}
 ptr_glGetMinmaxEXT :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1405,8 +1447,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmaxParameter.xml OpenGL 2.x>.
 glGetMinmaxParameterfv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
-  -> GLenum -- ^ @pname@ of type @GetMinmaxParameterPName@.
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetMinmaxParameterPNameEXT](Graphics-GL-Groups.html#GetMinmaxParameterPNameEXT).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetMinmaxParameterfv v1 v2 v3 = liftIO $ dyn135 ptr_glGetMinmaxParameterfv v1 v2 v3
@@ -1434,8 +1476,8 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmaxParameter.xml OpenGL 2.x>.
 glGetMinmaxParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
-  -> GLenum -- ^ @pname@ of type @GetMinmaxParameterPName@.
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetMinmaxParameterPNameEXT](Graphics-GL-Groups.html#GetMinmaxParameterPNameEXT).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetMinmaxParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glGetMinmaxParameteriv v1 v2 v3
@@ -1462,12 +1504,12 @@
 
 glGetMultiTexEnvfvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
   -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn327 ptr_glGetMultiTexEnvfvEXT v1 v2 v3 v4
+glGetMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetMultiTexEnvfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexEnvfvEXT #-}
 ptr_glGetMultiTexEnvfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -1477,12 +1519,12 @@
 
 glGetMultiTexEnvivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
   -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetMultiTexEnvivEXT v1 v2 v3 v4
+glGetMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetMultiTexEnvivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexEnvivEXT #-}
 ptr_glGetMultiTexEnvivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -1492,12 +1534,12 @@
 
 glGetMultiTexGendvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glGetMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn362 ptr_glGetMultiTexGendvEXT v1 v2 v3 v4
+glGetMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn363 ptr_glGetMultiTexGendvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexGendvEXT #-}
 ptr_glGetMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
@@ -1507,62 +1549,14 @@
 
 glGetMultiTexGenfvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn327 ptr_glGetMultiTexGenfvEXT v1 v2 v3 v4
+glGetMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetMultiTexGenfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexGenfvEXT #-}
 ptr_glGetMultiTexGenfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
 ptr_glGetMultiTexGenfvEXT = unsafePerformIO $ getCommand "glGetMultiTexGenfvEXT"
-
--- glGetMultiTexGenivEXT -------------------------------------------------------
-
-glGetMultiTexGenivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetMultiTexGenivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexGenivEXT #-}
-ptr_glGetMultiTexGenivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMultiTexGenivEXT = unsafePerformIO $ getCommand "glGetMultiTexGenivEXT"
-
--- glGetMultiTexImageEXT -------------------------------------------------------
-
-glGetMultiTexImageEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
-  -> m ()
-glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn363 ptr_glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetMultiTexImageEXT #-}
-ptr_glGetMultiTexImageEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetMultiTexImageEXT = unsafePerformIO $ getCommand "glGetMultiTexImageEXT"
-
--- glGetMultiTexLevelParameterfvEXT --------------------------------------------
-
-glGetMultiTexLevelParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn364 ptr_glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetMultiTexLevelParameterfvEXT #-}
-ptr_glGetMultiTexLevelParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMultiTexLevelParameterfvEXT = unsafePerformIO $ getCommand "glGetMultiTexLevelParameterfvEXT"
 
diff --git a/src/Graphics/GL/Functions/F11.hs b/src/Graphics/GL/Functions/F11.hs
--- a/src/Graphics/GL/Functions/F11.hs
+++ b/src/Graphics/GL/Functions/F11.hs
@@ -15,6 +15,9 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F11 (
+  glGetMultiTexGenivEXT,
+  glGetMultiTexImageEXT,
+  glGetMultiTexLevelParameterfvEXT,
   glGetMultiTexLevelParameterivEXT,
   glGetMultiTexParameterIivEXT,
   glGetMultiTexParameterIuivEXT,
@@ -111,10 +114,7 @@
   glGetProgramNamedParameterfvNV,
   glGetProgramParameterdvNV,
   glGetProgramParameterfvNV,
-  glGetProgramPipelineInfoLog,
-  glGetProgramPipelineInfoLogEXT,
-  glGetProgramPipelineiv,
-  glGetProgramPipelineivEXT
+  glGetProgramPipelineInfoLog
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,17 +123,65 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glGetMultiTexGenivEXT -------------------------------------------------------
+
+glGetMultiTexGenivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetMultiTexGenivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexGenivEXT #-}
+ptr_glGetMultiTexGenivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMultiTexGenivEXT = unsafePerformIO $ getCommand "glGetMultiTexGenivEXT"
+
+-- glGetMultiTexImageEXT -------------------------------------------------------
+
+glGetMultiTexImageEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
+  -> m ()
+glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn364 ptr_glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetMultiTexImageEXT #-}
+ptr_glGetMultiTexImageEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetMultiTexImageEXT = unsafePerformIO $ getCommand "glGetMultiTexImageEXT"
+
+-- glGetMultiTexLevelParameterfvEXT --------------------------------------------
+
+glGetMultiTexLevelParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn365 ptr_glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetMultiTexLevelParameterfvEXT #-}
+ptr_glGetMultiTexLevelParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMultiTexLevelParameterfvEXT = unsafePerformIO $ getCommand "glGetMultiTexLevelParameterfvEXT"
+
 -- glGetMultiTexLevelParameterivEXT --------------------------------------------
 
 glGetMultiTexLevelParameterivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn365 ptr_glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5
+glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn366 ptr_glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetMultiTexLevelParameterivEXT #-}
 ptr_glGetMultiTexLevelParameterivEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
@@ -143,12 +191,12 @@
 
 glGetMultiTexParameterIivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetMultiTexParameterIivEXT v1 v2 v3 v4
+glGetMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetMultiTexParameterIivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexParameterIivEXT #-}
 ptr_glGetMultiTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -158,12 +206,12 @@
 
 glGetMultiTexParameterIuivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn366 ptr_glGetMultiTexParameterIuivEXT v1 v2 v3 v4
+glGetMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn367 ptr_glGetMultiTexParameterIuivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexParameterIuivEXT #-}
 ptr_glGetMultiTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -173,12 +221,12 @@
 
 glGetMultiTexParameterfvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn327 ptr_glGetMultiTexParameterfvEXT v1 v2 v3 v4
+glGetMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetMultiTexParameterfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexParameterfvEXT #-}
 ptr_glGetMultiTexParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -188,12 +236,12 @@
 
 glGetMultiTexParameterivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetMultiTexParameterivEXT v1 v2 v3 v4
+glGetMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glGetMultiTexParameterivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetMultiTexParameterivEXT #-}
 ptr_glGetMultiTexParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -204,11 +252,11 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetMultisample.xhtml OpenGL 4.x>.
 glGetMultisamplefv
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type @GetMultisamplePNameNV@.
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @val@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetMultisamplefv v1 v2 v3 = liftIO $ dyn271 ptr_glGetMultisamplefv v1 v2 v3
+glGetMultisamplefv v1 v2 v3 = liftIO $ dyn272 ptr_glGetMultisamplefv v1 v2 v3
 
 {-# NOINLINE ptr_glGetMultisamplefv #-}
 ptr_glGetMultisamplefv :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -223,7 +271,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @val@ pointing to @2@ elements of type @GLfloat@.
   -> m ()
-glGetMultisamplefvNV v1 v2 v3 = liftIO $ dyn271 ptr_glGetMultisamplefvNV v1 v2 v3
+glGetMultisamplefvNV v1 v2 v3 = liftIO $ dyn272 ptr_glGetMultisamplefvNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetMultisamplefvNV #-}
 ptr_glGetMultisamplefvNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -235,10 +283,10 @@
 glGetNamedBufferParameteri64v
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
   -> Ptr GLint64 -- ^ @params@.
   -> m ()
-glGetNamedBufferParameteri64v v1 v2 v3 = liftIO $ dyn367 ptr_glGetNamedBufferParameteri64v v1 v2 v3
+glGetNamedBufferParameteri64v v1 v2 v3 = liftIO $ dyn368 ptr_glGetNamedBufferParameteri64v v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedBufferParameteri64v #-}
 ptr_glGetNamedBufferParameteri64v :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
@@ -250,10 +298,10 @@
 glGetNamedBufferParameteriv
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetNamedBufferParameteriv v1 v2 v3 = liftIO $ dyn341 ptr_glGetNamedBufferParameteriv v1 v2 v3
+glGetNamedBufferParameteriv v1 v2 v3 = liftIO $ dyn342 ptr_glGetNamedBufferParameteriv v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedBufferParameteriv #-}
 ptr_glGetNamedBufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -264,10 +312,10 @@
 glGetNamedBufferParameterivEXT
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
+  -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetNamedBufferParameterivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetNamedBufferParameterivEXT v1 v2 v3
+glGetNamedBufferParameterivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetNamedBufferParameterivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedBufferParameterivEXT #-}
 ptr_glGetNamedBufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -278,10 +326,10 @@
 glGetNamedBufferParameterui64vNV
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
+  -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
   -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
   -> m ()
-glGetNamedBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn368 ptr_glGetNamedBufferParameterui64vNV v1 v2 v3
+glGetNamedBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn369 ptr_glGetNamedBufferParameterui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedBufferParameterui64vNV #-}
 ptr_glGetNamedBufferParameterui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
@@ -293,10 +341,10 @@
 glGetNamedBufferPointerv
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
   -> Ptr (Ptr a) -- ^ @params@.
   -> m ()
-glGetNamedBufferPointerv v1 v2 v3 = liftIO $ dyn369 ptr_glGetNamedBufferPointerv v1 v2 v3
+glGetNamedBufferPointerv v1 v2 v3 = liftIO $ dyn370 ptr_glGetNamedBufferPointerv v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedBufferPointerv #-}
 ptr_glGetNamedBufferPointerv :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -307,10 +355,10 @@
 glGetNamedBufferPointervEXT
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
+  -> GLenum -- ^ @pname@ of type [VertexBufferObjectParameter](Graphics-GL-Groups.html#VertexBufferObjectParameter).
   -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetNamedBufferPointervEXT v1 v2 v3 = liftIO $ dyn369 ptr_glGetNamedBufferPointervEXT v1 v2 v3
+glGetNamedBufferPointervEXT v1 v2 v3 = liftIO $ dyn370 ptr_glGetNamedBufferPointervEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedBufferPointervEXT #-}
 ptr_glGetNamedBufferPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -326,7 +374,7 @@
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> Ptr a -- ^ @data@.
   -> m ()
-glGetNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn370 ptr_glGetNamedBufferSubData v1 v2 v3 v4
+glGetNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetNamedBufferSubData v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedBufferSubData #-}
 ptr_glGetNamedBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
@@ -341,7 +389,7 @@
   -> GLsizeiptr -- ^ @size@.
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
   -> m ()
-glGetNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn370 ptr_glGetNamedBufferSubDataEXT v1 v2 v3 v4
+glGetNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetNamedBufferSubDataEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedBufferSubDataEXT #-}
 ptr_glGetNamedBufferSubDataEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
@@ -353,11 +401,11 @@
 glGetNamedFramebufferAttachmentParameteriv
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4
+glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn372 ptr_glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedFramebufferAttachmentParameteriv #-}
 ptr_glGetNamedFramebufferAttachmentParameteriv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -368,11 +416,11 @@
 glGetNamedFramebufferAttachmentParameterivEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @pname@ of type @FramebufferAttachmentParameterName@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @pname@ of type [FramebufferAttachmentParameterName](Graphics-GL-Groups.html#FramebufferAttachmentParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4
+glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn372 ptr_glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedFramebufferAttachmentParameterivEXT #-}
 ptr_glGetNamedFramebufferAttachmentParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -389,7 +437,7 @@
   -> GLsizei -- ^ @size@.
   -> Ptr GLfloat -- ^ @values@.
   -> m ()
-glGetNamedFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6 = liftIO $ dyn372 ptr_glGetNamedFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6
+glGetNamedFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6 = liftIO $ dyn373 ptr_glGetNamedFramebufferParameterfvAMD v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetNamedFramebufferParameterfvAMD #-}
 ptr_glGetNamedFramebufferParameterfvAMD :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -401,10 +449,10 @@
 glGetNamedFramebufferParameteriv
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [GetFramebufferParameter](Graphics-GL-Groups.html#GetFramebufferParameter).
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glGetNamedFramebufferParameteriv v1 v2 v3 = liftIO $ dyn341 ptr_glGetNamedFramebufferParameteriv v1 v2 v3
+glGetNamedFramebufferParameteriv v1 v2 v3 = liftIO $ dyn342 ptr_glGetNamedFramebufferParameteriv v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedFramebufferParameteriv #-}
 ptr_glGetNamedFramebufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -415,10 +463,10 @@
 glGetNamedFramebufferParameterivEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @pname@ of type @GetFramebufferParameter@.
+  -> GLenum -- ^ @pname@ of type [GetFramebufferParameter](Graphics-GL-Groups.html#GetFramebufferParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetNamedFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetNamedFramebufferParameterivEXT v1 v2 v3
+glGetNamedFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetNamedFramebufferParameterivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedFramebufferParameterivEXT #-}
 ptr_glGetNamedFramebufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -433,7 +481,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn373 ptr_glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4
+glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn374 ptr_glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedProgramLocalParameterIivEXT #-}
 ptr_glGetNamedProgramLocalParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -448,7 +496,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
   -> m ()
-glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn374 ptr_glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4
+glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn375 ptr_glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedProgramLocalParameterIuivEXT #-}
 ptr_glGetNamedProgramLocalParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
@@ -463,7 +511,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4 = liftIO $ dyn375 ptr_glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4
+glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4 = liftIO $ dyn376 ptr_glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedProgramLocalParameterdvEXT #-}
 ptr_glGetNamedProgramLocalParameterdvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -478,7 +526,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn376 ptr_glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4
+glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn377 ptr_glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedProgramLocalParameterfvEXT #-}
 ptr_glGetNamedProgramLocalParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -493,7 +541,7 @@
   -> GLenum -- ^ @pname@ of type @ProgramStringProperty@.
   -> Ptr a -- ^ @string@ pointing to @COMPSIZE(program,pname)@ elements of type @a@.
   -> m ()
-glGetNamedProgramStringEXT v1 v2 v3 v4 = liftIO $ dyn377 ptr_glGetNamedProgramStringEXT v1 v2 v3 v4
+glGetNamedProgramStringEXT v1 v2 v3 v4 = liftIO $ dyn378 ptr_glGetNamedProgramStringEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedProgramStringEXT #-}
 ptr_glGetNamedProgramStringEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -505,10 +553,10 @@
   :: MonadIO m
   => GLuint -- ^ @program@.
   -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLenum -- ^ @pname@ of type @ProgramProperty@.
+  -> GLenum -- ^ @pname@ of type [ProgramPropertyARB](Graphics-GL-Groups.html#ProgramPropertyARB).
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetNamedProgramivEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetNamedProgramivEXT v1 v2 v3 v4
+glGetNamedProgramivEXT v1 v2 v3 v4 = liftIO $ dyn372 ptr_glGetNamedProgramivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedProgramivEXT #-}
 ptr_glGetNamedProgramivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -520,10 +568,10 @@
 glGetNamedRenderbufferParameteriv
   :: MonadIO m
   => GLuint -- ^ @renderbuffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [RenderbufferParameterName](Graphics-GL-Groups.html#RenderbufferParameterName).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetNamedRenderbufferParameteriv v1 v2 v3 = liftIO $ dyn341 ptr_glGetNamedRenderbufferParameteriv v1 v2 v3
+glGetNamedRenderbufferParameteriv v1 v2 v3 = liftIO $ dyn342 ptr_glGetNamedRenderbufferParameteriv v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedRenderbufferParameteriv #-}
 ptr_glGetNamedRenderbufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -534,10 +582,10 @@
 glGetNamedRenderbufferParameterivEXT
   :: MonadIO m
   => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
-  -> GLenum -- ^ @pname@ of type @RenderbufferParameterName@.
+  -> GLenum -- ^ @pname@ of type [RenderbufferParameterName](Graphics-GL-Groups.html#RenderbufferParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetNamedRenderbufferParameterivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetNamedRenderbufferParameterivEXT v1 v2 v3
+glGetNamedRenderbufferParameterivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetNamedRenderbufferParameterivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetNamedRenderbufferParameterivEXT #-}
 ptr_glGetNamedRenderbufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -553,7 +601,7 @@
   -> Ptr GLint -- ^ @stringlen@ pointing to @1@ element of type @GLint@.
   -> Ptr GLchar -- ^ @string@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetNamedStringARB v1 v2 v3 v4 v5 = liftIO $ dyn378 ptr_glGetNamedStringARB v1 v2 v3 v4 v5
+glGetNamedStringARB v1 v2 v3 v4 v5 = liftIO $ dyn379 ptr_glGetNamedStringARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetNamedStringARB #-}
 ptr_glGetNamedStringARB :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
@@ -568,7 +616,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetNamedStringivARB v1 v2 v3 v4 = liftIO $ dyn379 ptr_glGetNamedStringivARB v1 v2 v3 v4
+glGetNamedStringivARB v1 v2 v3 v4 = liftIO $ dyn380 ptr_glGetNamedStringivARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetNamedStringivARB #-}
 ptr_glGetNamedStringivARB :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
@@ -595,7 +643,7 @@
   -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
   -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
   -> m ()
-glGetObjectBufferfvATI v1 v2 v3 = liftIO $ dyn357 ptr_glGetObjectBufferfvATI v1 v2 v3
+glGetObjectBufferfvATI v1 v2 v3 = liftIO $ dyn358 ptr_glGetObjectBufferfvATI v1 v2 v3
 
 {-# NOINLINE ptr_glGetObjectBufferfvATI #-}
 ptr_glGetObjectBufferfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -609,7 +657,7 @@
   -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetObjectBufferivATI v1 v2 v3 = liftIO $ dyn341 ptr_glGetObjectBufferivATI v1 v2 v3
+glGetObjectBufferivATI v1 v2 v3 = liftIO $ dyn342 ptr_glGetObjectBufferivATI v1 v2 v3
 
 {-# NOINLINE ptr_glGetObjectBufferivATI #-}
 ptr_glGetObjectBufferivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -626,7 +674,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetObjectLabel v1 v2 v3 v4 v5 = liftIO $ dyn380 ptr_glGetObjectLabel v1 v2 v3 v4 v5
+glGetObjectLabel v1 v2 v3 v4 v5 = liftIO $ dyn381 ptr_glGetObjectLabel v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetObjectLabel #-}
 ptr_glGetObjectLabel :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -642,7 +690,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetObjectLabelEXT v1 v2 v3 v4 v5 = liftIO $ dyn380 ptr_glGetObjectLabelEXT v1 v2 v3 v4 v5
+glGetObjectLabelEXT v1 v2 v3 v4 v5 = liftIO $ dyn381 ptr_glGetObjectLabelEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetObjectLabelEXT #-}
 ptr_glGetObjectLabelEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -659,7 +707,7 @@
   -> Ptr GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetObjectLabelKHR v1 v2 v3 v4 v5 = liftIO $ dyn380 ptr_glGetObjectLabelKHR v1 v2 v3 v4 v5
+glGetObjectLabelKHR v1 v2 v3 v4 v5 = liftIO $ dyn381 ptr_glGetObjectLabelKHR v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetObjectLabelKHR #-}
 ptr_glGetObjectLabelKHR :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -673,7 +721,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetObjectParameterfvARB v1 v2 v3 = liftIO $ dyn381 ptr_glGetObjectParameterfvARB v1 v2 v3
+glGetObjectParameterfvARB v1 v2 v3 = liftIO $ dyn382 ptr_glGetObjectParameterfvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetObjectParameterfvARB #-}
 ptr_glGetObjectParameterfvARB :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
@@ -688,7 +736,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetObjectParameterivAPPLE v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetObjectParameterivAPPLE v1 v2 v3 v4
+glGetObjectParameterivAPPLE v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetObjectParameterivAPPLE v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetObjectParameterivAPPLE #-}
 ptr_glGetObjectParameterivAPPLE :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -702,7 +750,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetObjectParameterivARB v1 v2 v3 = liftIO $ dyn382 ptr_glGetObjectParameterivARB v1 v2 v3
+glGetObjectParameterivARB v1 v2 v3 = liftIO $ dyn383 ptr_glGetObjectParameterivARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetObjectParameterivARB #-}
 ptr_glGetObjectParameterivARB :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
@@ -718,7 +766,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetObjectPtrLabel v1 v2 v3 v4 = liftIO $ dyn383 ptr_glGetObjectPtrLabel v1 v2 v3 v4
+glGetObjectPtrLabel v1 v2 v3 v4 = liftIO $ dyn384 ptr_glGetObjectPtrLabel v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetObjectPtrLabel #-}
 ptr_glGetObjectPtrLabel :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -734,7 +782,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetObjectPtrLabelKHR v1 v2 v3 v4 = liftIO $ dyn383 ptr_glGetObjectPtrLabelKHR v1 v2 v3 v4
+glGetObjectPtrLabelKHR v1 v2 v3 v4 = liftIO $ dyn384 ptr_glGetObjectPtrLabelKHR v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetObjectPtrLabelKHR #-}
 ptr_glGetObjectPtrLabelKHR :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -748,7 +796,7 @@
   -> GLenum -- ^ @pname@ of type @OcclusionQueryParameterNameNV@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetOcclusionQueryivNV v1 v2 v3 = liftIO $ dyn341 ptr_glGetOcclusionQueryivNV v1 v2 v3
+glGetOcclusionQueryivNV v1 v2 v3 = liftIO $ dyn342 ptr_glGetOcclusionQueryivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetOcclusionQueryivNV #-}
 ptr_glGetOcclusionQueryivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -762,7 +810,7 @@
   -> GLenum -- ^ @pname@ of type @OcclusionQueryParameterNameNV@.
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetOcclusionQueryuivNV v1 v2 v3 = liftIO $ dyn384 ptr_glGetOcclusionQueryuivNV v1 v2 v3
+glGetOcclusionQueryuivNV v1 v2 v3 = liftIO $ dyn385 ptr_glGetOcclusionQueryuivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetOcclusionQueryuivNV #-}
 ptr_glGetOcclusionQueryuivNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -772,8 +820,8 @@
 
 glGetPathColorGenfvNV
   :: MonadIO m
-  => GLenum -- ^ @color@ of type @PathColor@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  => GLenum -- ^ @color@ of type [PathColor](Graphics-GL-Groups.html#PathColor).
+  -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
   -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetPathColorGenfvNV v1 v2 v3 = liftIO $ dyn135 ptr_glGetPathColorGenfvNV v1 v2 v3
@@ -786,8 +834,8 @@
 
 glGetPathColorGenivNV
   :: MonadIO m
-  => GLenum -- ^ @color@ of type @PathColor@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  => GLenum -- ^ @color@ of type [PathColor](Graphics-GL-Groups.html#PathColor).
+  -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
   -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetPathColorGenivNV v1 v2 v3 = liftIO $ dyn136 ptr_glGetPathColorGenivNV v1 v2 v3
@@ -803,7 +851,7 @@
   => GLuint -- ^ @path@ of type @Path@.
   -> Ptr GLubyte -- ^ @commands@ pointing to @COMPSIZE(path)@ elements of type @PathCommand@.
   -> m ()
-glGetPathCommandsNV v1 v2 = liftIO $ dyn385 ptr_glGetPathCommandsNV v1 v2
+glGetPathCommandsNV v1 v2 = liftIO $ dyn386 ptr_glGetPathCommandsNV v1 v2
 
 {-# NOINLINE ptr_glGetPathCommandsNV #-}
 ptr_glGetPathCommandsNV :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -816,7 +864,7 @@
   => GLuint -- ^ @path@ of type @Path@.
   -> Ptr GLfloat -- ^ @coords@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
   -> m ()
-glGetPathCoordsNV v1 v2 = liftIO $ dyn386 ptr_glGetPathCoordsNV v1 v2
+glGetPathCoordsNV v1 v2 = liftIO $ dyn387 ptr_glGetPathCoordsNV v1 v2
 
 {-# NOINLINE ptr_glGetPathCoordsNV #-}
 ptr_glGetPathCoordsNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -829,7 +877,7 @@
   => GLuint -- ^ @path@ of type @Path@.
   -> Ptr GLfloat -- ^ @dashArray@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
   -> m ()
-glGetPathDashArrayNV v1 v2 = liftIO $ dyn386 ptr_glGetPathDashArrayNV v1 v2
+glGetPathDashArrayNV v1 v2 = liftIO $ dyn387 ptr_glGetPathDashArrayNV v1 v2
 
 {-# NOINLINE ptr_glGetPathDashArrayNV #-}
 ptr_glGetPathDashArrayNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -843,7 +891,7 @@
   -> GLsizei -- ^ @startSegment@.
   -> GLsizei -- ^ @numSegments@.
   -> m GLfloat
-glGetPathLengthNV v1 v2 v3 = liftIO $ dyn387 ptr_glGetPathLengthNV v1 v2 v3
+glGetPathLengthNV v1 v2 v3 = liftIO $ dyn388 ptr_glGetPathLengthNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetPathLengthNV #-}
 ptr_glGetPathLengthNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat)
@@ -853,13 +901,13 @@
 
 glGetPathMetricRangeNV
   :: MonadIO m
-  => GLbitfield -- ^ @metricQueryMask@ of type @PathMetricMask@.
+  => GLbitfield -- ^ @metricQueryMask@ of type [PathMetricMask](Graphics-GL-Groups.html#PathMetricMask).
   -> GLuint -- ^ @firstPathName@ of type @Path@.
   -> GLsizei -- ^ @numPaths@.
   -> GLsizei -- ^ @stride@.
   -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
   -> m ()
-glGetPathMetricRangeNV v1 v2 v3 v4 v5 = liftIO $ dyn388 ptr_glGetPathMetricRangeNV v1 v2 v3 v4 v5
+glGetPathMetricRangeNV v1 v2 v3 v4 v5 = liftIO $ dyn389 ptr_glGetPathMetricRangeNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetPathMetricRangeNV #-}
 ptr_glGetPathMetricRangeNV :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
@@ -869,15 +917,15 @@
 
 glGetPathMetricsNV
   :: MonadIO m
-  => GLbitfield -- ^ @metricQueryMask@ of type @PathMetricMask@.
+  => GLbitfield -- ^ @metricQueryMask@ of type [PathMetricMask](Graphics-GL-Groups.html#PathMetricMask).
   -> GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
   -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
   -> GLuint -- ^ @pathBase@ of type @Path@.
   -> GLsizei -- ^ @stride@.
   -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
   -> m ()
-glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn389 ptr_glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7
+glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn390 ptr_glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetPathMetricsNV #-}
 ptr_glGetPathMetricsNV :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -888,10 +936,10 @@
 glGetPathParameterfvNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
   -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetPathParameterfvNV v1 v2 v3 = liftIO $ dyn357 ptr_glGetPathParameterfvNV v1 v2 v3
+glGetPathParameterfvNV v1 v2 v3 = liftIO $ dyn358 ptr_glGetPathParameterfvNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetPathParameterfvNV #-}
 ptr_glGetPathParameterfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -902,10 +950,10 @@
 glGetPathParameterivNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
   -> Ptr GLint -- ^ @value@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glGetPathParameterivNV v1 v2 v3 = liftIO $ dyn341 ptr_glGetPathParameterivNV v1 v2 v3
+glGetPathParameterivNV v1 v2 v3 = liftIO $ dyn342 ptr_glGetPathParameterivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetPathParameterivNV #-}
 ptr_glGetPathParameterivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -915,17 +963,17 @@
 
 glGetPathSpacingNV
   :: MonadIO m
-  => GLenum -- ^ @pathListMode@ of type @PathListMode@.
+  => GLenum -- ^ @pathListMode@ of type [PathListMode](Graphics-GL-Groups.html#PathListMode).
   -> GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
   -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
   -> GLuint -- ^ @pathBase@ of type @Path@.
   -> GLfloat -- ^ @advanceScale@.
   -> GLfloat -- ^ @kerningScale@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
   -> Ptr GLfloat -- ^ @returnedSpacing@ pointing to @COMPSIZE(pathListMode,numPaths)@ elements of type @GLfloat@.
   -> m ()
-glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn390 ptr_glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn391 ptr_glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glGetPathSpacingNV #-}
 ptr_glGetPathSpacingNV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
@@ -935,8 +983,8 @@
 
 glGetPathTexGenfvNV
   :: MonadIO m
-  => GLenum -- ^ @texCoordSet@ of type @TextureUnit@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  => GLenum -- ^ @texCoordSet@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
   -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetPathTexGenfvNV v1 v2 v3 = liftIO $ dyn135 ptr_glGetPathTexGenfvNV v1 v2 v3
@@ -949,8 +997,8 @@
 
 glGetPathTexGenivNV
   :: MonadIO m
-  => GLenum -- ^ @texCoordSet@ of type @TextureUnit@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  => GLenum -- ^ @texCoordSet@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @pname@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
   -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetPathTexGenivNV v1 v2 v3 = liftIO $ dyn136 ptr_glGetPathTexGenivNV v1 v2 v3
@@ -975,7 +1023,7 @@
   -> Ptr GLuint -- ^ @counterDataTypeEnum@.
   -> Ptr GLuint64 -- ^ @rawCounterMaxValue@.
   -> m ()
-glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn391 ptr_glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn392 ptr_glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glGetPerfCounterInfoINTEL #-}
 ptr_glGetPerfCounterInfoINTEL :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
@@ -991,7 +1039,7 @@
   -> Ptr GLuint -- ^ @data@ pointing to @dataSize@ elements of type @GLuint@.
   -> Ptr GLint -- ^ @bytesWritten@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5 = liftIO $ dyn392 ptr_glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5
+glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5 = liftIO $ dyn393 ptr_glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetPerfMonitorCounterDataAMD #-}
 ptr_glGetPerfMonitorCounterDataAMD :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ())
@@ -1006,7 +1054,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @a@.
   -> m ()
-glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4 = liftIO $ dyn393 ptr_glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4
+glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4 = liftIO $ dyn394 ptr_glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetPerfMonitorCounterInfoAMD #-}
 ptr_glGetPerfMonitorCounterInfoAMD :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr a -> IO ())
@@ -1022,7 +1070,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @counterString@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5 = liftIO $ dyn312 ptr_glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5
+glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5 = liftIO $ dyn313 ptr_glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetPerfMonitorCounterStringAMD #-}
 ptr_glGetPerfMonitorCounterStringAMD :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -1038,7 +1086,7 @@
   -> GLsizei -- ^ @counterSize@.
   -> Ptr GLuint -- ^ @counters@ pointing to @counterSize@ elements of type @GLuint@.
   -> m ()
-glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn394 ptr_glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5
+glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn395 ptr_glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetPerfMonitorCountersAMD #-}
 ptr_glGetPerfMonitorCountersAMD :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1053,7 +1101,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @groupString@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetPerfMonitorGroupStringAMD v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetPerfMonitorGroupStringAMD v1 v2 v3 v4
+glGetPerfMonitorGroupStringAMD v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetPerfMonitorGroupStringAMD v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetPerfMonitorGroupStringAMD #-}
 ptr_glGetPerfMonitorGroupStringAMD :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -1067,7 +1115,7 @@
   -> GLsizei -- ^ @groupsSize@.
   -> Ptr GLuint -- ^ @groups@ pointing to @groupsSize@ elements of type @GLuint@.
   -> m ()
-glGetPerfMonitorGroupsAMD v1 v2 v3 = liftIO $ dyn339 ptr_glGetPerfMonitorGroupsAMD v1 v2 v3
+glGetPerfMonitorGroupsAMD v1 v2 v3 = liftIO $ dyn340 ptr_glGetPerfMonitorGroupsAMD v1 v2 v3
 
 {-# NOINLINE ptr_glGetPerfMonitorGroupsAMD #-}
 ptr_glGetPerfMonitorGroupsAMD :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1083,7 +1131,7 @@
   -> Ptr a -- ^ @data@.
   -> Ptr GLuint -- ^ @bytesWritten@.
   -> m ()
-glGetPerfQueryDataINTEL v1 v2 v3 v4 v5 = liftIO $ dyn395 ptr_glGetPerfQueryDataINTEL v1 v2 v3 v4 v5
+glGetPerfQueryDataINTEL v1 v2 v3 v4 v5 = liftIO $ dyn396 ptr_glGetPerfQueryDataINTEL v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetPerfQueryDataINTEL #-}
 ptr_glGetPerfQueryDataINTEL :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ())
@@ -1096,7 +1144,7 @@
   => Ptr GLchar -- ^ @queryName@.
   -> Ptr GLuint -- ^ @queryId@.
   -> m ()
-glGetPerfQueryIdByNameINTEL v1 v2 = liftIO $ dyn396 ptr_glGetPerfQueryIdByNameINTEL v1 v2
+glGetPerfQueryIdByNameINTEL v1 v2 = liftIO $ dyn397 ptr_glGetPerfQueryIdByNameINTEL v1 v2
 
 {-# NOINLINE ptr_glGetPerfQueryIdByNameINTEL #-}
 ptr_glGetPerfQueryIdByNameINTEL :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
@@ -1114,7 +1162,7 @@
   -> Ptr GLuint -- ^ @noInstances@.
   -> Ptr GLuint -- ^ @capsMask@.
   -> m ()
-glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn397 ptr_glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7
+glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn398 ptr_glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetPerfQueryInfoINTEL #-}
 ptr_glGetPerfQueryInfoINTEL :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
@@ -1156,7 +1204,7 @@
   => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
   -> Ptr GLushort -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLushort@.
   -> m ()
-glGetPixelMapusv v1 v2 = liftIO $ dyn398 ptr_glGetPixelMapusv v1 v2
+glGetPixelMapusv v1 v2 = liftIO $ dyn399 ptr_glGetPixelMapusv v1 v2
 
 {-# NOINLINE ptr_glGetPixelMapusv #-}
 ptr_glGetPixelMapusv :: FunPtr (GLenum -> Ptr GLushort -> IO ())
@@ -1166,11 +1214,11 @@
 
 glGetPixelMapxv
   :: MonadIO m
-  => GLenum -- ^ @map@.
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
   -> GLint -- ^ @size@.
   -> Ptr GLfixed -- ^ @values@ pointing to @size@ elements of type @GLfixed@.
   -> m ()
-glGetPixelMapxv v1 v2 v3 = liftIO $ dyn399 ptr_glGetPixelMapxv v1 v2 v3
+glGetPixelMapxv v1 v2 v3 = liftIO $ dyn400 ptr_glGetPixelMapxv v1 v2 v3
 
 {-# NOINLINE ptr_glGetPixelMapxv #-}
 ptr_glGetPixelMapxv :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
@@ -1206,7 +1254,7 @@
 
 glGetPixelTransformParameterfvEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLenum -- ^ @pname@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
@@ -1220,7 +1268,7 @@
 
 glGetPixelTransformParameterivEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
@@ -1234,11 +1282,11 @@
 
 glGetPointerIndexedvEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
+  => GLenum -- ^ @target@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr (Ptr a) -- ^ @data@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetPointerIndexedvEXT v1 v2 v3 = liftIO $ dyn400 ptr_glGetPointerIndexedvEXT v1 v2 v3
+glGetPointerIndexedvEXT v1 v2 v3 = liftIO $ dyn401 ptr_glGetPointerIndexedvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetPointerIndexedvEXT #-}
 ptr_glGetPointerIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
@@ -1248,11 +1296,11 @@
 
 glGetPointeri_vEXT
   :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TypeEnum@.
+  => GLenum -- ^ @pname@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @index@.
   -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetPointeri_vEXT v1 v2 v3 = liftIO $ dyn400 ptr_glGetPointeri_vEXT v1 v2 v3
+glGetPointeri_vEXT v1 v2 v3 = liftIO $ dyn401 ptr_glGetPointeri_vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetPointeri_vEXT #-}
 ptr_glGetPointeri_vEXT :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
@@ -1266,7 +1314,7 @@
   => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-GL-Groups.html#GetPointervPName).
   -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetPointerv v1 v2 = liftIO $ dyn272 ptr_glGetPointerv v1 v2
+glGetPointerv v1 v2 = liftIO $ dyn273 ptr_glGetPointerv v1 v2
 
 {-# NOINLINE ptr_glGetPointerv #-}
 ptr_glGetPointerv :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
@@ -1280,7 +1328,7 @@
   => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-GL-Groups.html#GetPointervPName).
   -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetPointervEXT v1 v2 = liftIO $ dyn272 ptr_glGetPointervEXT v1 v2
+glGetPointervEXT v1 v2 = liftIO $ dyn273 ptr_glGetPointervEXT v1 v2
 
 {-# NOINLINE ptr_glGetPointervEXT #-}
 ptr_glGetPointervEXT :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
@@ -1294,7 +1342,7 @@
   => GLenum -- ^ @pname@.
   -> Ptr (Ptr a) -- ^ @params@.
   -> m ()
-glGetPointervKHR v1 v2 = liftIO $ dyn272 ptr_glGetPointervKHR v1 v2
+glGetPointervKHR v1 v2 = liftIO $ dyn273 ptr_glGetPointervKHR v1 v2
 
 {-# NOINLINE ptr_glGetPointervKHR #-}
 ptr_glGetPointervKHR :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
@@ -1324,7 +1372,7 @@
   -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
   -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glGetProgramBinary v1 v2 v3 v4 v5 = liftIO $ dyn401 ptr_glGetProgramBinary v1 v2 v3 v4 v5
+glGetProgramBinary v1 v2 v3 v4 v5 = liftIO $ dyn402 ptr_glGetProgramBinary v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetProgramBinary #-}
 ptr_glGetProgramBinary :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
@@ -1341,7 +1389,7 @@
   -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
   -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glGetProgramBinaryOES v1 v2 v3 v4 v5 = liftIO $ dyn401 ptr_glGetProgramBinaryOES v1 v2 v3 v4 v5
+glGetProgramBinaryOES v1 v2 v3 v4 v5 = liftIO $ dyn402 ptr_glGetProgramBinaryOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetProgramBinaryOES #-}
 ptr_glGetProgramBinaryOES :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
@@ -1355,7 +1403,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glGetProgramEnvParameterIivNV v1 v2 v3 = liftIO $ dyn350 ptr_glGetProgramEnvParameterIivNV v1 v2 v3
+glGetProgramEnvParameterIivNV v1 v2 v3 = liftIO $ dyn351 ptr_glGetProgramEnvParameterIivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramEnvParameterIivNV #-}
 ptr_glGetProgramEnvParameterIivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -1383,7 +1431,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glGetProgramEnvParameterdvARB v1 v2 v3 = liftIO $ dyn337 ptr_glGetProgramEnvParameterdvARB v1 v2 v3
+glGetProgramEnvParameterdvARB v1 v2 v3 = liftIO $ dyn338 ptr_glGetProgramEnvParameterdvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramEnvParameterdvARB #-}
 ptr_glGetProgramEnvParameterdvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -1397,7 +1445,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetProgramEnvParameterfvARB v1 v2 v3 = liftIO $ dyn271 ptr_glGetProgramEnvParameterfvARB v1 v2 v3
+glGetProgramEnvParameterfvARB v1 v2 v3 = liftIO $ dyn272 ptr_glGetProgramEnvParameterfvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramEnvParameterfvARB #-}
 ptr_glGetProgramEnvParameterfvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -1413,7 +1461,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetProgramInfoLog v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetProgramInfoLog v1 v2 v3 v4
+glGetProgramInfoLog v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetProgramInfoLog v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramInfoLog #-}
 ptr_glGetProgramInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -1425,11 +1473,11 @@
 glGetProgramInterfaceiv
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
+  -> GLenum -- ^ @pname@ of type [ProgramInterfacePName](Graphics-GL-Groups.html#ProgramInterfacePName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetProgramInterfaceiv v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetProgramInterfaceiv v1 v2 v3 v4
+glGetProgramInterfaceiv v1 v2 v3 v4 = liftIO $ dyn372 ptr_glGetProgramInterfaceiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramInterfaceiv #-}
 ptr_glGetProgramInterfaceiv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -1443,7 +1491,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glGetProgramLocalParameterIivNV v1 v2 v3 = liftIO $ dyn350 ptr_glGetProgramLocalParameterIivNV v1 v2 v3
+glGetProgramLocalParameterIivNV v1 v2 v3 = liftIO $ dyn351 ptr_glGetProgramLocalParameterIivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramLocalParameterIivNV #-}
 ptr_glGetProgramLocalParameterIivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -1471,7 +1519,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glGetProgramLocalParameterdvARB v1 v2 v3 = liftIO $ dyn337 ptr_glGetProgramLocalParameterdvARB v1 v2 v3
+glGetProgramLocalParameterdvARB v1 v2 v3 = liftIO $ dyn338 ptr_glGetProgramLocalParameterdvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramLocalParameterdvARB #-}
 ptr_glGetProgramLocalParameterdvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -1485,7 +1533,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetProgramLocalParameterfvARB v1 v2 v3 = liftIO $ dyn271 ptr_glGetProgramLocalParameterfvARB v1 v2 v3
+glGetProgramLocalParameterfvARB v1 v2 v3 = liftIO $ dyn272 ptr_glGetProgramLocalParameterfvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramLocalParameterfvARB #-}
 ptr_glGetProgramLocalParameterfvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -1500,7 +1548,7 @@
   -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glGetProgramNamedParameterdvNV v1 v2 v3 v4 = liftIO $ dyn402 ptr_glGetProgramNamedParameterdvNV v1 v2 v3 v4
+glGetProgramNamedParameterdvNV v1 v2 v3 v4 = liftIO $ dyn403 ptr_glGetProgramNamedParameterdvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramNamedParameterdvNV #-}
 ptr_glGetProgramNamedParameterdvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
@@ -1515,7 +1563,7 @@
   -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetProgramNamedParameterfvNV v1 v2 v3 v4 = liftIO $ dyn403 ptr_glGetProgramNamedParameterfvNV v1 v2 v3 v4
+glGetProgramNamedParameterfvNV v1 v2 v3 v4 = liftIO $ dyn404 ptr_glGetProgramNamedParameterfvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramNamedParameterfvNV #-}
 ptr_glGetProgramNamedParameterfvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
@@ -1530,7 +1578,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glGetProgramParameterdvNV v1 v2 v3 v4 = liftIO $ dyn404 ptr_glGetProgramParameterdvNV v1 v2 v3 v4
+glGetProgramParameterdvNV v1 v2 v3 v4 = liftIO $ dyn405 ptr_glGetProgramParameterdvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramParameterdvNV #-}
 ptr_glGetProgramParameterdvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -1545,7 +1593,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetProgramParameterfvNV v1 v2 v3 v4 = liftIO $ dyn358 ptr_glGetProgramParameterfvNV v1 v2 v3 v4
+glGetProgramParameterfvNV v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetProgramParameterfvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramParameterfvNV #-}
 ptr_glGetProgramParameterfvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1561,53 +1609,9 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetProgramPipelineInfoLog v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetProgramPipelineInfoLog v1 v2 v3 v4
+glGetProgramPipelineInfoLog v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetProgramPipelineInfoLog v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramPipelineInfoLog #-}
 ptr_glGetProgramPipelineInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
 ptr_glGetProgramPipelineInfoLog = unsafePerformIO $ getCommand "glGetProgramPipelineInfoLog"
-
--- glGetProgramPipelineInfoLogEXT ----------------------------------------------
-
-glGetProgramPipelineInfoLogEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetProgramPipelineInfoLogEXT v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetProgramPipelineInfoLogEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramPipelineInfoLogEXT #-}
-ptr_glGetProgramPipelineInfoLogEXT :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetProgramPipelineInfoLogEXT = unsafePerformIO $ getCommand "glGetProgramPipelineInfoLogEXT"
-
--- glGetProgramPipelineiv ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipeline.xhtml OpenGL 4.x>.
-glGetProgramPipelineiv
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetProgramPipelineiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetProgramPipelineiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramPipelineiv #-}
-ptr_glGetProgramPipelineiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramPipelineiv = unsafePerformIO $ getCommand "glGetProgramPipelineiv"
-
--- glGetProgramPipelineivEXT ---------------------------------------------------
-
-glGetProgramPipelineivEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetProgramPipelineivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetProgramPipelineivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramPipelineivEXT #-}
-ptr_glGetProgramPipelineivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramPipelineivEXT = unsafePerformIO $ getCommand "glGetProgramPipelineivEXT"
 
diff --git a/src/Graphics/GL/Functions/F12.hs b/src/Graphics/GL/Functions/F12.hs
--- a/src/Graphics/GL/Functions/F12.hs
+++ b/src/Graphics/GL/Functions/F12.hs
@@ -15,6 +15,9 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F12 (
+  glGetProgramPipelineInfoLogEXT,
+  glGetProgramPipelineiv,
+  glGetProgramPipelineivEXT,
   glGetProgramResourceIndex,
   glGetProgramResourceLocation,
   glGetProgramResourceLocationIndex,
@@ -111,10 +114,7 @@
   glGetTextureLevelParameterfvEXT,
   glGetTextureLevelParameteriv,
   glGetTextureLevelParameterivEXT,
-  glGetTextureParameterIiv,
-  glGetTextureParameterIivEXT,
-  glGetTextureParameterIuiv,
-  glGetTextureParameterIuivEXT
+  glGetTextureParameterIiv
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,16 +123,60 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glGetProgramPipelineInfoLogEXT ----------------------------------------------
+
+glGetProgramPipelineInfoLogEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetProgramPipelineInfoLogEXT v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetProgramPipelineInfoLogEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramPipelineInfoLogEXT #-}
+ptr_glGetProgramPipelineInfoLogEXT :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetProgramPipelineInfoLogEXT = unsafePerformIO $ getCommand "glGetProgramPipelineInfoLogEXT"
+
+-- glGetProgramPipelineiv ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipeline.xhtml OpenGL 4.x>.
+glGetProgramPipelineiv
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLenum -- ^ @pname@ of type [PipelineParameterName](Graphics-GL-Groups.html#PipelineParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetProgramPipelineiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetProgramPipelineiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramPipelineiv #-}
+ptr_glGetProgramPipelineiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramPipelineiv = unsafePerformIO $ getCommand "glGetProgramPipelineiv"
+
+-- glGetProgramPipelineivEXT ---------------------------------------------------
+
+glGetProgramPipelineivEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLenum -- ^ @pname@ of type [PipelineParameterName](Graphics-GL-Groups.html#PipelineParameterName).
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetProgramPipelineivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetProgramPipelineivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramPipelineivEXT #-}
+ptr_glGetProgramPipelineivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramPipelineivEXT = unsafePerformIO $ getCommand "glGetProgramPipelineivEXT"
+
 -- glGetProgramResourceIndex ---------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceIndex.xhtml OpenGL 4.x>.
 glGetProgramResourceIndex
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLuint
-glGetProgramResourceIndex v1 v2 v3 = liftIO $ dyn405 ptr_glGetProgramResourceIndex v1 v2 v3
+glGetProgramResourceIndex v1 v2 v3 = liftIO $ dyn406 ptr_glGetProgramResourceIndex v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramResourceIndex #-}
 ptr_glGetProgramResourceIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
@@ -144,10 +188,10 @@
 glGetProgramResourceLocation
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLint
-glGetProgramResourceLocation v1 v2 v3 = liftIO $ dyn406 ptr_glGetProgramResourceLocation v1 v2 v3
+glGetProgramResourceLocation v1 v2 v3 = liftIO $ dyn407 ptr_glGetProgramResourceLocation v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramResourceLocation #-}
 ptr_glGetProgramResourceLocation :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
@@ -159,10 +203,10 @@
 glGetProgramResourceLocationIndex
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLint
-glGetProgramResourceLocationIndex v1 v2 v3 = liftIO $ dyn406 ptr_glGetProgramResourceLocationIndex v1 v2 v3
+glGetProgramResourceLocationIndex v1 v2 v3 = liftIO $ dyn407 ptr_glGetProgramResourceLocationIndex v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramResourceLocationIndex #-}
 ptr_glGetProgramResourceLocationIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
@@ -173,10 +217,10 @@
 glGetProgramResourceLocationIndexEXT
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLint
-glGetProgramResourceLocationIndexEXT v1 v2 v3 = liftIO $ dyn406 ptr_glGetProgramResourceLocationIndexEXT v1 v2 v3
+glGetProgramResourceLocationIndexEXT v1 v2 v3 = liftIO $ dyn407 ptr_glGetProgramResourceLocationIndexEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramResourceLocationIndexEXT #-}
 ptr_glGetProgramResourceLocationIndexEXT :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
@@ -188,13 +232,13 @@
 glGetProgramResourceName
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
   -> GLuint -- ^ @index@.
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetProgramResourceName v1 v2 v3 v4 v5 v6 = liftIO $ dyn310 ptr_glGetProgramResourceName v1 v2 v3 v4 v5 v6
+glGetProgramResourceName v1 v2 v3 v4 v5 v6 = liftIO $ dyn311 ptr_glGetProgramResourceName v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetProgramResourceName #-}
 ptr_glGetProgramResourceName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -205,7 +249,7 @@
 glGetProgramResourcefvNV
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
   -> GLuint -- ^ @index@.
   -> GLsizei -- ^ @propCount@.
   -> Ptr GLenum -- ^ @props@.
@@ -213,7 +257,7 @@
   -> Ptr GLsizei -- ^ @length@.
   -> Ptr GLfloat -- ^ @params@.
   -> m ()
-glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn407 ptr_glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8
+glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn408 ptr_glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glGetProgramResourcefvNV #-}
 ptr_glGetProgramResourcefvNV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ())
@@ -225,7 +269,7 @@
 glGetProgramResourceiv
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @programInterface@ of type [ProgramInterface](Graphics-GL-Groups.html#ProgramInterface).
   -> GLuint -- ^ @index@.
   -> GLsizei -- ^ @propCount@.
   -> Ptr GLenum -- ^ @props@ pointing to @propCount@ elements of type @GLenum@.
@@ -233,7 +277,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn408 ptr_glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8
+glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn409 ptr_glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glGetProgramResourceiv #-}
 ptr_glGetProgramResourceiv :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
@@ -245,11 +289,11 @@
 glGetProgramStageiv
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
+  -> GLenum -- ^ @pname@ of type [ProgramStagePName](Graphics-GL-Groups.html#ProgramStagePName).
   -> Ptr GLint -- ^ @values@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetProgramStageiv v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetProgramStageiv v1 v2 v3 v4
+glGetProgramStageiv v1 v2 v3 v4 = liftIO $ dyn372 ptr_glGetProgramStageiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetProgramStageiv #-}
 ptr_glGetProgramStageiv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -263,7 +307,7 @@
   -> GLenum -- ^ @pname@ of type @ProgramStringPropertyARB@.
   -> Ptr a -- ^ @string@ pointing to @COMPSIZE(target,pname)@ elements of type @a@.
   -> m ()
-glGetProgramStringARB v1 v2 v3 = liftIO $ dyn245 ptr_glGetProgramStringARB v1 v2 v3
+glGetProgramStringARB v1 v2 v3 = liftIO $ dyn246 ptr_glGetProgramStringARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramStringARB #-}
 ptr_glGetProgramStringARB :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
@@ -277,7 +321,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLubyte -- ^ @program@ pointing to @COMPSIZE(id,pname)@ elements of type @ProgramCharacterNV@.
   -> m ()
-glGetProgramStringNV v1 v2 v3 = liftIO $ dyn409 ptr_glGetProgramStringNV v1 v2 v3
+glGetProgramStringNV v1 v2 v3 = liftIO $ dyn410 ptr_glGetProgramStringNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramStringNV #-}
 ptr_glGetProgramStringNV :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
@@ -303,10 +347,10 @@
 glGetProgramiv
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [ProgramPropertyARB](Graphics-GL-Groups.html#ProgramPropertyARB).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetProgramiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetProgramiv v1 v2 v3
+glGetProgramiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetProgramiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramiv #-}
 ptr_glGetProgramiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -317,7 +361,7 @@
 glGetProgramivARB
   :: MonadIO m
   => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLenum -- ^ @pname@ of type @ProgramPropertyARB@.
+  -> GLenum -- ^ @pname@ of type [ProgramPropertyARB](Graphics-GL-Groups.html#ProgramPropertyARB).
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
 glGetProgramivARB v1 v2 v3 = liftIO $ dyn136 ptr_glGetProgramivARB v1 v2 v3
@@ -334,7 +378,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glGetProgramivNV v1 v2 v3 = liftIO $ dyn341 ptr_glGetProgramivNV v1 v2 v3
+glGetProgramivNV v1 v2 v3 = liftIO $ dyn342 ptr_glGetProgramivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetProgramivNV #-}
 ptr_glGetProgramivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -346,10 +390,10 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> GLintptr -- ^ @offset@.
   -> m ()
-glGetQueryBufferObjecti64v v1 v2 v3 v4 = liftIO $ dyn410 ptr_glGetQueryBufferObjecti64v v1 v2 v3 v4
+glGetQueryBufferObjecti64v v1 v2 v3 v4 = liftIO $ dyn411 ptr_glGetQueryBufferObjecti64v v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetQueryBufferObjecti64v #-}
 ptr_glGetQueryBufferObjecti64v :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
@@ -361,10 +405,10 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> GLintptr -- ^ @offset@.
   -> m ()
-glGetQueryBufferObjectiv v1 v2 v3 v4 = liftIO $ dyn410 ptr_glGetQueryBufferObjectiv v1 v2 v3 v4
+glGetQueryBufferObjectiv v1 v2 v3 v4 = liftIO $ dyn411 ptr_glGetQueryBufferObjectiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetQueryBufferObjectiv #-}
 ptr_glGetQueryBufferObjectiv :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
@@ -376,10 +420,10 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> GLintptr -- ^ @offset@.
   -> m ()
-glGetQueryBufferObjectui64v v1 v2 v3 v4 = liftIO $ dyn410 ptr_glGetQueryBufferObjectui64v v1 v2 v3 v4
+glGetQueryBufferObjectui64v v1 v2 v3 v4 = liftIO $ dyn411 ptr_glGetQueryBufferObjectui64v v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetQueryBufferObjectui64v #-}
 ptr_glGetQueryBufferObjectui64v :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
@@ -391,10 +435,10 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> GLintptr -- ^ @offset@.
   -> m ()
-glGetQueryBufferObjectuiv v1 v2 v3 v4 = liftIO $ dyn410 ptr_glGetQueryBufferObjectuiv v1 v2 v3 v4
+glGetQueryBufferObjectuiv v1 v2 v3 v4 = liftIO $ dyn411 ptr_glGetQueryBufferObjectuiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetQueryBufferObjectuiv #-}
 ptr_glGetQueryBufferObjectuiv :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
@@ -407,10 +451,10 @@
   :: MonadIO m
   => GLenum -- ^ @target@.
   -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryParameterName](Graphics-GL-Groups.html#QueryParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetQueryIndexediv v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetQueryIndexediv v1 v2 v3 v4
+glGetQueryIndexediv v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetQueryIndexediv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetQueryIndexediv #-}
 ptr_glGetQueryIndexediv :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -422,10 +466,10 @@
 glGetQueryObjecti64v
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
   -> m ()
-glGetQueryObjecti64v v1 v2 v3 = liftIO $ dyn367 ptr_glGetQueryObjecti64v v1 v2 v3
+glGetQueryObjecti64v v1 v2 v3 = liftIO $ dyn368 ptr_glGetQueryObjecti64v v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjecti64v #-}
 ptr_glGetQueryObjecti64v :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
@@ -437,10 +481,10 @@
 glGetQueryObjecti64vEXT
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
   -> m ()
-glGetQueryObjecti64vEXT v1 v2 v3 = liftIO $ dyn367 ptr_glGetQueryObjecti64vEXT v1 v2 v3
+glGetQueryObjecti64vEXT v1 v2 v3 = liftIO $ dyn368 ptr_glGetQueryObjecti64vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjecti64vEXT #-}
 ptr_glGetQueryObjecti64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
@@ -452,10 +496,10 @@
 glGetQueryObjectiv
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetQueryObjectiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetQueryObjectiv v1 v2 v3
+glGetQueryObjectiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetQueryObjectiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectiv #-}
 ptr_glGetQueryObjectiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -467,10 +511,10 @@
 glGetQueryObjectivARB
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetQueryObjectivARB v1 v2 v3 = liftIO $ dyn341 ptr_glGetQueryObjectivARB v1 v2 v3
+glGetQueryObjectivARB v1 v2 v3 = liftIO $ dyn342 ptr_glGetQueryObjectivARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectivARB #-}
 ptr_glGetQueryObjectivARB :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -482,10 +526,10 @@
 glGetQueryObjectivEXT
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetQueryObjectivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetQueryObjectivEXT v1 v2 v3
+glGetQueryObjectivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetQueryObjectivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectivEXT #-}
 ptr_glGetQueryObjectivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -497,10 +541,10 @@
 glGetQueryObjectui64v
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64@.
   -> m ()
-glGetQueryObjectui64v v1 v2 v3 = liftIO $ dyn411 ptr_glGetQueryObjectui64v v1 v2 v3
+glGetQueryObjectui64v v1 v2 v3 = liftIO $ dyn412 ptr_glGetQueryObjectui64v v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectui64v #-}
 ptr_glGetQueryObjectui64v :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
@@ -512,10 +556,10 @@
 glGetQueryObjectui64vEXT
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64@.
   -> m ()
-glGetQueryObjectui64vEXT v1 v2 v3 = liftIO $ dyn411 ptr_glGetQueryObjectui64vEXT v1 v2 v3
+glGetQueryObjectui64vEXT v1 v2 v3 = liftIO $ dyn412 ptr_glGetQueryObjectui64vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectui64vEXT #-}
 ptr_glGetQueryObjectui64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
@@ -527,10 +571,10 @@
 glGetQueryObjectuiv
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetQueryObjectuiv v1 v2 v3 = liftIO $ dyn384 ptr_glGetQueryObjectuiv v1 v2 v3
+glGetQueryObjectuiv v1 v2 v3 = liftIO $ dyn385 ptr_glGetQueryObjectuiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectuiv #-}
 ptr_glGetQueryObjectuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -542,10 +586,10 @@
 glGetQueryObjectuivARB
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetQueryObjectuivARB v1 v2 v3 = liftIO $ dyn384 ptr_glGetQueryObjectuivARB v1 v2 v3
+glGetQueryObjectuivARB v1 v2 v3 = liftIO $ dyn385 ptr_glGetQueryObjectuivARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectuivARB #-}
 ptr_glGetQueryObjectuivARB :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -556,10 +600,10 @@
 glGetQueryObjectuivEXT
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [QueryObjectParameterName](Graphics-GL-Groups.html#QueryObjectParameterName).
   -> Ptr GLuint -- ^ @params@.
   -> m ()
-glGetQueryObjectuivEXT v1 v2 v3 = liftIO $ dyn384 ptr_glGetQueryObjectuivEXT v1 v2 v3
+glGetQueryObjectuivEXT v1 v2 v3 = liftIO $ dyn385 ptr_glGetQueryObjectuivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetQueryObjectuivEXT #-}
 ptr_glGetQueryObjectuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -570,8 +614,8 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetQueryiv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryiv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryiv.xhtml OpenGL 4.x>.
 glGetQueryiv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
+  -> GLenum -- ^ @pname@ of type [QueryParameterName](Graphics-GL-Groups.html#QueryParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetQueryiv v1 v2 v3 = liftIO $ dyn136 ptr_glGetQueryiv v1 v2 v3
@@ -585,8 +629,8 @@
 -- | This command is an alias for 'glGetQueryiv'.
 glGetQueryivARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
+  -> GLenum -- ^ @pname@ of type [QueryParameterName](Graphics-GL-Groups.html#QueryParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetQueryivARB v1 v2 v3 = liftIO $ dyn136 ptr_glGetQueryivARB v1 v2 v3
@@ -599,8 +643,8 @@
 
 glGetQueryivEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
+  -> GLenum -- ^ @pname@ of type [QueryParameterName](Graphics-GL-Groups.html#QueryParameterName).
   -> Ptr GLint -- ^ @params@.
   -> m ()
 glGetQueryivEXT v1 v2 v3 = liftIO $ dyn136 ptr_glGetQueryivEXT v1 v2 v3
@@ -614,8 +658,8 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetRenderbufferParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetRenderbufferParameter.xhtml OpenGL 4.x>.
 glGetRenderbufferParameteriv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLenum -- ^ @pname@ of type [RenderbufferParameterName](Graphics-GL-Groups.html#RenderbufferParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetRenderbufferParameteriv v1 v2 v3 = liftIO $ dyn136 ptr_glGetRenderbufferParameteriv v1 v2 v3
@@ -629,8 +673,8 @@
 -- | This command is an alias for 'glGetRenderbufferParameteriv'.
 glGetRenderbufferParameterivEXT
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLenum -- ^ @pname@ of type [RenderbufferParameterName](Graphics-GL-Groups.html#RenderbufferParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetRenderbufferParameterivEXT v1 v2 v3 = liftIO $ dyn136 ptr_glGetRenderbufferParameterivEXT v1 v2 v3
@@ -643,8 +687,8 @@
 
 glGetRenderbufferParameterivOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLenum -- ^ @pname@ of type [RenderbufferParameterName](Graphics-GL-Groups.html#RenderbufferParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetRenderbufferParameterivOES v1 v2 v3 = liftIO $ dyn136 ptr_glGetRenderbufferParameterivOES v1 v2 v3
@@ -659,10 +703,10 @@
 glGetSamplerParameterIiv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetSamplerParameterIiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetSamplerParameterIiv v1 v2 v3
+glGetSamplerParameterIiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetSamplerParameterIiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameterIiv #-}
 ptr_glGetSamplerParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -674,10 +718,10 @@
 glGetSamplerParameterIivEXT
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetSamplerParameterIivEXT v1 v2 v3
+glGetSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetSamplerParameterIivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameterIivEXT #-}
 ptr_glGetSamplerParameterIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -689,10 +733,10 @@
 glGetSamplerParameterIivOES
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn341 ptr_glGetSamplerParameterIivOES v1 v2 v3
+glGetSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn342 ptr_glGetSamplerParameterIivOES v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameterIivOES #-}
 ptr_glGetSamplerParameterIivOES :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -704,10 +748,10 @@
 glGetSamplerParameterIuiv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn384 ptr_glGetSamplerParameterIuiv v1 v2 v3
+glGetSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn385 ptr_glGetSamplerParameterIuiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameterIuiv #-}
 ptr_glGetSamplerParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -719,10 +763,10 @@
 glGetSamplerParameterIuivEXT
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn384 ptr_glGetSamplerParameterIuivEXT v1 v2 v3
+glGetSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn385 ptr_glGetSamplerParameterIuivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameterIuivEXT #-}
 ptr_glGetSamplerParameterIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -734,10 +778,10 @@
 glGetSamplerParameterIuivOES
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn384 ptr_glGetSamplerParameterIuivOES v1 v2 v3
+glGetSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn385 ptr_glGetSamplerParameterIuivOES v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameterIuivOES #-}
 ptr_glGetSamplerParameterIuivOES :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -749,10 +793,10 @@
 glGetSamplerParameterfv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetSamplerParameterfv v1 v2 v3 = liftIO $ dyn357 ptr_glGetSamplerParameterfv v1 v2 v3
+glGetSamplerParameterfv v1 v2 v3 = liftIO $ dyn358 ptr_glGetSamplerParameterfv v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameterfv #-}
 ptr_glGetSamplerParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -764,10 +808,10 @@
 glGetSamplerParameteriv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetSamplerParameteriv v1 v2 v3 = liftIO $ dyn341 ptr_glGetSamplerParameteriv v1 v2 v3
+glGetSamplerParameteriv v1 v2 v3 = liftIO $ dyn342 ptr_glGetSamplerParameteriv v1 v2 v3
 
 {-# NOINLINE ptr_glGetSamplerParameteriv #-}
 ptr_glGetSamplerParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -781,7 +825,7 @@
   -> GLenum -- ^ @pname@ of type [SemaphoreParameterName](Graphics-GL-Groups.html#SemaphoreParameterName).
   -> Ptr GLuint64 -- ^ @params@.
   -> m ()
-glGetSemaphoreParameterui64vEXT v1 v2 v3 = liftIO $ dyn411 ptr_glGetSemaphoreParameterui64vEXT v1 v2 v3
+glGetSemaphoreParameterui64vEXT v1 v2 v3 = liftIO $ dyn412 ptr_glGetSemaphoreParameterui64vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetSemaphoreParameterui64vEXT #-}
 ptr_glGetSemaphoreParameterui64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
@@ -792,14 +836,14 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetSeparableFilter.xml OpenGL 2.x>.
 glGetSeparableFilter
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @SeparableTarget@.
+  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
   -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type)@ elements of type @b@.
   -> Ptr c -- ^ @span@ pointing to @COMPSIZE(target,format,type)@ elements of type @c@.
   -> m ()
-glGetSeparableFilter v1 v2 v3 v4 v5 v6 = liftIO $ dyn412 ptr_glGetSeparableFilter v1 v2 v3 v4 v5 v6
+glGetSeparableFilter v1 v2 v3 v4 v5 v6 = liftIO $ dyn413 ptr_glGetSeparableFilter v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetSeparableFilter #-}
 ptr_glGetSeparableFilter :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
@@ -816,7 +860,7 @@
   -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type)@ elements of type @b@.
   -> Ptr c -- ^ @span@ pointing to @COMPSIZE(target,format,type)@ elements of type @c@.
   -> m ()
-glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn412 ptr_glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6
+glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn413 ptr_glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetSeparableFilterEXT #-}
 ptr_glGetSeparableFilterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
@@ -832,7 +876,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetShaderInfoLog v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetShaderInfoLog v1 v2 v3 v4
+glGetShaderInfoLog v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetShaderInfoLog v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetShaderInfoLog #-}
 ptr_glGetShaderInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -843,12 +887,12 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetShaderPrecisionFormat.xhtml OpenGL 4.x>.
 glGetShaderPrecisionFormat
   :: MonadIO m
-  => GLenum -- ^ @shadertype@.
-  -> GLenum -- ^ @precisiontype@.
+  => GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
+  -> GLenum -- ^ @precisiontype@ of type [PrecisionType](Graphics-GL-Groups.html#PrecisionType).
   -> Ptr GLint -- ^ @range@ pointing to @2@ elements of type @GLint@.
-  -> Ptr GLint -- ^ @precision@ pointing to @2@ elements of type @GLint@.
+  -> Ptr GLint -- ^ @precision@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetShaderPrecisionFormat v1 v2 v3 v4 = liftIO $ dyn413 ptr_glGetShaderPrecisionFormat v1 v2 v3 v4
+glGetShaderPrecisionFormat v1 v2 v3 v4 = liftIO $ dyn414 ptr_glGetShaderPrecisionFormat v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetShaderPrecisionFormat #-}
 ptr_glGetShaderPrecisionFormat :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
@@ -864,7 +908,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @source@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetShaderSource v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetShaderSource v1 v2 v3 v4
+glGetShaderSource v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetShaderSource v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetShaderSource #-}
 ptr_glGetShaderSource :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -880,7 +924,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLcharARB -- ^ @source@ pointing to @maxLength@ elements of type @GLcharARB@.
   -> m ()
-glGetShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn346 ptr_glGetShaderSourceARB v1 v2 v3 v4
+glGetShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetShaderSourceARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetShaderSourceARB #-}
 ptr_glGetShaderSourceARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
@@ -892,10 +936,10 @@
 glGetShaderiv
   :: MonadIO m
   => GLuint -- ^ @shader@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [ShaderParameterName](Graphics-GL-Groups.html#ShaderParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetShaderiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetShaderiv v1 v2 v3
+glGetShaderiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetShaderiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetShaderiv #-}
 ptr_glGetShaderiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -918,9 +962,9 @@
 
 glGetStageIndexNV
   :: MonadIO m
-  => GLenum -- ^ @shadertype@.
+  => GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> m GLushort
-glGetStageIndexNV v1 = liftIO $ dyn414 ptr_glGetStageIndexNV v1
+glGetStageIndexNV v1 = liftIO $ dyn415 ptr_glGetStageIndexNV v1
 
 {-# NOINLINE ptr_glGetStageIndexNV #-}
 ptr_glGetStageIndexNV :: FunPtr (GLenum -> IO GLushort)
@@ -933,7 +977,7 @@
   :: MonadIO m
   => GLenum -- ^ @name@ of type [StringName](Graphics-GL-Groups.html#StringName).
   -> m (Ptr GLubyte) -- ^ pointing to elements of type @String@.
-glGetString v1 = liftIO $ dyn415 ptr_glGetString v1
+glGetString v1 = liftIO $ dyn416 ptr_glGetString v1
 
 {-# NOINLINE ptr_glGetString #-}
 ptr_glGetString :: FunPtr (GLenum -> IO (Ptr GLubyte))
@@ -944,10 +988,10 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetString.xhtml OpenGL 4.x>.
 glGetStringi
   :: MonadIO m
-  => GLenum -- ^ @name@.
+  => GLenum -- ^ @name@ of type [StringName](Graphics-GL-Groups.html#StringName).
   -> GLuint -- ^ @index@.
   -> m (Ptr GLubyte) -- ^ pointing to elements of type @String@.
-glGetStringi v1 v2 = liftIO $ dyn416 ptr_glGetStringi v1 v2
+glGetStringi v1 v2 = liftIO $ dyn417 ptr_glGetStringi v1 v2
 
 {-# NOINLINE ptr_glGetStringi #-}
 ptr_glGetStringi :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
@@ -959,10 +1003,10 @@
 glGetSubroutineIndex
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> Ptr GLchar -- ^ @name@.
   -> m GLuint
-glGetSubroutineIndex v1 v2 v3 = liftIO $ dyn405 ptr_glGetSubroutineIndex v1 v2 v3
+glGetSubroutineIndex v1 v2 v3 = liftIO $ dyn406 ptr_glGetSubroutineIndex v1 v2 v3
 
 {-# NOINLINE ptr_glGetSubroutineIndex #-}
 ptr_glGetSubroutineIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
@@ -974,10 +1018,10 @@
 glGetSubroutineUniformLocation
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> Ptr GLchar -- ^ @name@.
   -> m GLint
-glGetSubroutineUniformLocation v1 v2 v3 = liftIO $ dyn406 ptr_glGetSubroutineUniformLocation v1 v2 v3
+glGetSubroutineUniformLocation v1 v2 v3 = liftIO $ dyn407 ptr_glGetSubroutineUniformLocation v1 v2 v3
 
 {-# NOINLINE ptr_glGetSubroutineUniformLocation #-}
 ptr_glGetSubroutineUniformLocation :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
@@ -989,12 +1033,12 @@
 glGetSynciv
   :: MonadIO m
   => GLsync -- ^ @sync@ of type @sync@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SyncParameterName](Graphics-GL-Groups.html#SyncParameterName).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetSynciv v1 v2 v3 v4 v5 = liftIO $ dyn417 ptr_glGetSynciv v1 v2 v3 v4 v5
+glGetSynciv v1 v2 v3 v4 v5 = liftIO $ dyn418 ptr_glGetSynciv v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetSynciv #-}
 ptr_glGetSynciv :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
@@ -1006,12 +1050,12 @@
 glGetSyncivAPPLE
   :: MonadIO m
   => GLsync -- ^ @sync@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SyncParameterName](Graphics-GL-Groups.html#SyncParameterName).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLsizei -- ^ @length@.
   -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetSyncivAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn417 ptr_glGetSyncivAPPLE v1 v2 v3 v4 v5
+glGetSyncivAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn418 ptr_glGetSyncivAPPLE v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetSyncivAPPLE #-}
 ptr_glGetSyncivAPPLE :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
@@ -1077,8 +1121,8 @@
 
 glGetTexEnvxv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetTexEnvxv v1 v2 v3 = liftIO $ dyn166 ptr_glGetTexEnvxv v1 v2 v3
@@ -1091,8 +1135,8 @@
 
 glGetTexEnvxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetTexEnvxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetTexEnvxvOES v1 v2 v3
@@ -1124,7 +1168,7 @@
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glGetTexGendv v1 v2 v3 = liftIO $ dyn361 ptr_glGetTexGendv v1 v2 v3
+glGetTexGendv v1 v2 v3 = liftIO $ dyn362 ptr_glGetTexGendv v1 v2 v3
 
 {-# NOINLINE ptr_glGetTexGendv #-}
 ptr_glGetTexGendv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
@@ -1149,8 +1193,8 @@
 
 glGetTexGenfvOES
   :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glGetTexGenfvOES v1 v2 v3 = liftIO $ dyn135 ptr_glGetTexGenfvOES v1 v2 v3
@@ -1178,8 +1222,8 @@
 
 glGetTexGenivOES
   :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
 glGetTexGenivOES v1 v2 v3 = liftIO $ dyn136 ptr_glGetTexGenivOES v1 v2 v3
@@ -1192,8 +1236,8 @@
 
 glGetTexGenxvOES
   :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetTexGenxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetTexGenxvOES v1 v2 v3
@@ -1213,7 +1257,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
   -> m ()
-glGetTexImage v1 v2 v3 v4 v5 = liftIO $ dyn418 ptr_glGetTexImage v1 v2 v3 v4 v5
+glGetTexImage v1 v2 v3 v4 v5 = liftIO $ dyn419 ptr_glGetTexImage v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetTexImage #-}
 ptr_glGetTexImage :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1229,7 +1273,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetTexLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn419 ptr_glGetTexLevelParameterfv v1 v2 v3 v4
+glGetTexLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn420 ptr_glGetTexLevelParameterfv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTexLevelParameterfv #-}
 ptr_glGetTexLevelParameterfv :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1245,7 +1289,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetTexLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn420 ptr_glGetTexLevelParameteriv v1 v2 v3 v4
+glGetTexLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn421 ptr_glGetTexLevelParameteriv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTexLevelParameteriv #-}
 ptr_glGetTexLevelParameteriv :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
@@ -1255,12 +1299,12 @@
 
 glGetTexLevelParameterxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
-glGetTexLevelParameterxvOES v1 v2 v3 v4 = liftIO $ dyn421 ptr_glGetTexLevelParameterxvOES v1 v2 v3 v4
+glGetTexLevelParameterxvOES v1 v2 v3 v4 = liftIO $ dyn422 ptr_glGetTexLevelParameterxvOES v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTexLevelParameterxvOES #-}
 ptr_glGetTexLevelParameterxvOES :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ())
@@ -1320,7 +1364,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetTexParameterIuiv v1 v2 v3 = liftIO $ dyn422 ptr_glGetTexParameterIuiv v1 v2 v3
+glGetTexParameterIuiv v1 v2 v3 = liftIO $ dyn423 ptr_glGetTexParameterIuiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetTexParameterIuiv #-}
 ptr_glGetTexParameterIuiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -1335,7 +1379,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn422 ptr_glGetTexParameterIuivEXT v1 v2 v3
+glGetTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn423 ptr_glGetTexParameterIuivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetTexParameterIuivEXT #-}
 ptr_glGetTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -1350,7 +1394,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetTexParameterIuivOES v1 v2 v3 = liftIO $ dyn422 ptr_glGetTexParameterIuivOES v1 v2 v3
+glGetTexParameterIuivOES v1 v2 v3 = liftIO $ dyn423 ptr_glGetTexParameterIuivOES v1 v2 v3
 
 {-# NOINLINE ptr_glGetTexParameterIuivOES #-}
 ptr_glGetTexParameterIuivOES :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -1364,7 +1408,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetTexParameterPointervAPPLE v1 v2 v3 = liftIO $ dyn323 ptr_glGetTexParameterPointervAPPLE v1 v2 v3
+glGetTexParameterPointervAPPLE v1 v2 v3 = liftIO $ dyn324 ptr_glGetTexParameterPointervAPPLE v1 v2 v3
 
 {-# NOINLINE ptr_glGetTexParameterPointervAPPLE #-}
 ptr_glGetTexParameterPointervAPPLE :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -1404,8 +1448,8 @@
 
 glGetTexParameterxv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetTexParameterxv v1 v2 v3 = liftIO $ dyn166 ptr_glGetTexParameterxv v1 v2 v3
@@ -1418,8 +1462,8 @@
 
 glGetTexParameterxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glGetTexParameterxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glGetTexParameterxvOES v1 v2 v3
@@ -1434,7 +1478,7 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> m GLuint64
-glGetTextureHandleARB v1 = liftIO $ dyn423 ptr_glGetTextureHandleARB v1
+glGetTextureHandleARB v1 = liftIO $ dyn424 ptr_glGetTextureHandleARB v1
 
 {-# NOINLINE ptr_glGetTextureHandleARB #-}
 ptr_glGetTextureHandleARB :: FunPtr (GLuint -> IO GLuint64)
@@ -1447,7 +1491,7 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> m GLuint64
-glGetTextureHandleIMG v1 = liftIO $ dyn423 ptr_glGetTextureHandleIMG v1
+glGetTextureHandleIMG v1 = liftIO $ dyn424 ptr_glGetTextureHandleIMG v1
 
 {-# NOINLINE ptr_glGetTextureHandleIMG #-}
 ptr_glGetTextureHandleIMG :: FunPtr (GLuint -> IO GLuint64)
@@ -1459,7 +1503,7 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> m GLuint64
-glGetTextureHandleNV v1 = liftIO $ dyn423 ptr_glGetTextureHandleNV v1
+glGetTextureHandleNV v1 = liftIO $ dyn424 ptr_glGetTextureHandleNV v1
 
 {-# NOINLINE ptr_glGetTextureHandleNV #-}
 ptr_glGetTextureHandleNV :: FunPtr (GLuint -> IO GLuint64)
@@ -1472,12 +1516,12 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @pixels@.
   -> m ()
-glGetTextureImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn424 ptr_glGetTextureImage v1 v2 v3 v4 v5 v6
+glGetTextureImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn425 ptr_glGetTextureImage v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetTextureImage #-}
 ptr_glGetTextureImage :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1494,7 +1538,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
   -> m ()
-glGetTextureImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn425 ptr_glGetTextureImageEXT v1 v2 v3 v4 v5 v6
+glGetTextureImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn426 ptr_glGetTextureImageEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetTextureImageEXT #-}
 ptr_glGetTextureImageEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1507,10 +1551,10 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfloat -- ^ @params@.
   -> m ()
-glGetTextureLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn426 ptr_glGetTextureLevelParameterfv v1 v2 v3 v4
+glGetTextureLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn427 ptr_glGetTextureLevelParameterfv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTextureLevelParameterfv #-}
 ptr_glGetTextureLevelParameterfv :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1526,7 +1570,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn427 ptr_glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5
+glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn428 ptr_glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetTextureLevelParameterfvEXT #-}
 ptr_glGetTextureLevelParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1539,10 +1583,10 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetTextureLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn428 ptr_glGetTextureLevelParameteriv v1 v2 v3 v4
+glGetTextureLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn429 ptr_glGetTextureLevelParameteriv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTextureLevelParameteriv #-}
 ptr_glGetTextureLevelParameteriv :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
@@ -1558,7 +1602,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn275 ptr_glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5
+glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn276 ptr_glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetTextureLevelParameterivEXT #-}
 ptr_glGetTextureLevelParameterivEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
@@ -1570,57 +1614,12 @@
 glGetTextureParameterIiv
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetTextureParameterIiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetTextureParameterIiv v1 v2 v3
+glGetTextureParameterIiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetTextureParameterIiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetTextureParameterIiv #-}
 ptr_glGetTextureParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
 ptr_glGetTextureParameterIiv = unsafePerformIO $ getCommand "glGetTextureParameterIiv"
-
--- glGetTextureParameterIivEXT -------------------------------------------------
-
-glGetTextureParameterIivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetTextureParameterIivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureParameterIivEXT #-}
-ptr_glGetTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTextureParameterIivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIivEXT"
-
--- glGetTextureParameterIuiv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTextureParameterIuiv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@.
-  -> m ()
-glGetTextureParameterIuiv v1 v2 v3 = liftIO $ dyn384 ptr_glGetTextureParameterIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTextureParameterIuiv #-}
-ptr_glGetTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetTextureParameterIuiv = unsafePerformIO $ getCommand "glGetTextureParameterIuiv"
-
--- glGetTextureParameterIuivEXT ------------------------------------------------
-
-glGetTextureParameterIuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn429 ptr_glGetTextureParameterIuivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureParameterIuivEXT #-}
-ptr_glGetTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetTextureParameterIuivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIuivEXT"
 
diff --git a/src/Graphics/GL/Functions/F13.hs b/src/Graphics/GL/Functions/F13.hs
--- a/src/Graphics/GL/Functions/F13.hs
+++ b/src/Graphics/GL/Functions/F13.hs
@@ -15,6 +15,9 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F13 (
+  glGetTextureParameterIivEXT,
+  glGetTextureParameterIuiv,
+  glGetTextureParameterIuivEXT,
   glGetTextureParameterfv,
   glGetTextureParameterfvEXT,
   glGetTextureParameteriv,
@@ -111,10 +114,7 @@
   glGetnMapfvARB,
   glGetnMapiv,
   glGetnMapivARB,
-  glGetnMinmax,
-  glGetnMinmaxARB,
-  glGetnPixelMapfv,
-  glGetnPixelMapfvARB
+  glGetnMinmax
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,16 +123,61 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glGetTextureParameterIivEXT -------------------------------------------------
+
+glGetTextureParameterIivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn372 ptr_glGetTextureParameterIivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureParameterIivEXT #-}
+ptr_glGetTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTextureParameterIivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIivEXT"
+
+-- glGetTextureParameterIuiv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTextureParameterIuiv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLuint -- ^ @params@.
+  -> m ()
+glGetTextureParameterIuiv v1 v2 v3 = liftIO $ dyn385 ptr_glGetTextureParameterIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTextureParameterIuiv #-}
+ptr_glGetTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetTextureParameterIuiv = unsafePerformIO $ getCommand "glGetTextureParameterIuiv"
+
+-- glGetTextureParameterIuivEXT ------------------------------------------------
+
+glGetTextureParameterIuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn430 ptr_glGetTextureParameterIuivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureParameterIuivEXT #-}
+ptr_glGetTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetTextureParameterIuivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIuivEXT"
+
 -- glGetTextureParameterfv -----------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
 glGetTextureParameterfv
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfloat -- ^ @params@.
   -> m ()
-glGetTextureParameterfv v1 v2 v3 = liftIO $ dyn357 ptr_glGetTextureParameterfv v1 v2 v3
+glGetTextureParameterfv v1 v2 v3 = liftIO $ dyn358 ptr_glGetTextureParameterfv v1 v2 v3
 
 {-# NOINLINE ptr_glGetTextureParameterfv #-}
 ptr_glGetTextureParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -147,7 +192,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn430 ptr_glGetTextureParameterfvEXT v1 v2 v3 v4
+glGetTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn431 ptr_glGetTextureParameterfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTextureParameterfvEXT #-}
 ptr_glGetTextureParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -159,10 +204,10 @@
 glGetTextureParameteriv
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetTextureParameteriv v1 v2 v3 = liftIO $ dyn341 ptr_glGetTextureParameteriv v1 v2 v3
+glGetTextureParameteriv v1 v2 v3 = liftIO $ dyn342 ptr_glGetTextureParameteriv v1 v2 v3
 
 {-# NOINLINE ptr_glGetTextureParameteriv #-}
 ptr_glGetTextureParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -177,7 +222,7 @@
   -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glGetTextureParameterivEXT v1 v2 v3 v4
+glGetTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn372 ptr_glGetTextureParameterivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTextureParameterivEXT #-}
 ptr_glGetTextureParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -190,7 +235,7 @@
   => GLuint -- ^ @texture@.
   -> GLuint -- ^ @sampler@.
   -> m GLuint64
-glGetTextureSamplerHandleARB v1 v2 = liftIO $ dyn431 ptr_glGetTextureSamplerHandleARB v1 v2
+glGetTextureSamplerHandleARB v1 v2 = liftIO $ dyn432 ptr_glGetTextureSamplerHandleARB v1 v2
 
 {-# NOINLINE ptr_glGetTextureSamplerHandleARB #-}
 ptr_glGetTextureSamplerHandleARB :: FunPtr (GLuint -> GLuint -> IO GLuint64)
@@ -204,7 +249,7 @@
   => GLuint -- ^ @texture@.
   -> GLuint -- ^ @sampler@.
   -> m GLuint64
-glGetTextureSamplerHandleIMG v1 v2 = liftIO $ dyn431 ptr_glGetTextureSamplerHandleIMG v1 v2
+glGetTextureSamplerHandleIMG v1 v2 = liftIO $ dyn432 ptr_glGetTextureSamplerHandleIMG v1 v2
 
 {-# NOINLINE ptr_glGetTextureSamplerHandleIMG #-}
 ptr_glGetTextureSamplerHandleIMG :: FunPtr (GLuint -> GLuint -> IO GLuint64)
@@ -217,7 +262,7 @@
   => GLuint -- ^ @texture@.
   -> GLuint -- ^ @sampler@.
   -> m GLuint64
-glGetTextureSamplerHandleNV v1 v2 = liftIO $ dyn431 ptr_glGetTextureSamplerHandleNV v1 v2
+glGetTextureSamplerHandleNV v1 v2 = liftIO $ dyn432 ptr_glGetTextureSamplerHandleNV v1 v2
 
 {-# NOINLINE ptr_glGetTextureSamplerHandleNV #-}
 ptr_glGetTextureSamplerHandleNV :: FunPtr (GLuint -> GLuint -> IO GLuint64)
@@ -236,12 +281,12 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @pixels@.
   -> m ()
-glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn432 ptr_glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn433 ptr_glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
 
 {-# NOINLINE ptr_glGetTextureSubImage #-}
 ptr_glGetTextureSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -256,7 +301,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetTrackMatrixivNV v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetTrackMatrixivNV v1 v2 v3 v4
+glGetTrackMatrixivNV v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetTrackMatrixivNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTrackMatrixivNV #-}
 ptr_glGetTrackMatrixivNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -275,7 +320,7 @@
   -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
   -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn314 ptr_glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7
+glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn315 ptr_glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetTransformFeedbackVarying #-}
 ptr_glGetTransformFeedbackVarying :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
@@ -294,7 +339,7 @@
   -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
   -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
   -> m ()
-glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn314 ptr_glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7
+glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn315 ptr_glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glGetTransformFeedbackVaryingEXT #-}
 ptr_glGetTransformFeedbackVaryingEXT :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
@@ -308,7 +353,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @location@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetTransformFeedbackVaryingNV v1 v2 v3 = liftIO $ dyn433 ptr_glGetTransformFeedbackVaryingNV v1 v2 v3
+glGetTransformFeedbackVaryingNV v1 v2 v3 = liftIO $ dyn434 ptr_glGetTransformFeedbackVaryingNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetTransformFeedbackVaryingNV #-}
 ptr_glGetTransformFeedbackVaryingNV :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
@@ -320,11 +365,11 @@
 glGetTransformFeedbacki64_v
   :: MonadIO m
   => GLuint -- ^ @xfb@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TransformFeedbackPName](Graphics-GL-Groups.html#TransformFeedbackPName).
   -> GLuint -- ^ @index@.
   -> Ptr GLint64 -- ^ @param@.
   -> m ()
-glGetTransformFeedbacki64_v v1 v2 v3 v4 = liftIO $ dyn434 ptr_glGetTransformFeedbacki64_v v1 v2 v3 v4
+glGetTransformFeedbacki64_v v1 v2 v3 v4 = liftIO $ dyn435 ptr_glGetTransformFeedbacki64_v v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTransformFeedbacki64_v #-}
 ptr_glGetTransformFeedbacki64_v :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
@@ -336,11 +381,11 @@
 glGetTransformFeedbacki_v
   :: MonadIO m
   => GLuint -- ^ @xfb@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TransformFeedbackPName](Graphics-GL-Groups.html#TransformFeedbackPName).
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glGetTransformFeedbacki_v v1 v2 v3 v4 = liftIO $ dyn373 ptr_glGetTransformFeedbacki_v v1 v2 v3 v4
+glGetTransformFeedbacki_v v1 v2 v3 v4 = liftIO $ dyn374 ptr_glGetTransformFeedbacki_v v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTransformFeedbacki_v #-}
 ptr_glGetTransformFeedbacki_v :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -352,10 +397,10 @@
 glGetTransformFeedbackiv
   :: MonadIO m
   => GLuint -- ^ @xfb@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TransformFeedbackPName](Graphics-GL-Groups.html#TransformFeedbackPName).
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glGetTransformFeedbackiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetTransformFeedbackiv v1 v2 v3
+glGetTransformFeedbackiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetTransformFeedbackiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetTransformFeedbackiv #-}
 ptr_glGetTransformFeedbackiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -370,7 +415,7 @@
   -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
   -> Ptr GLchar -- ^ @source@.
   -> m ()
-glGetTranslatedShaderSourceANGLE v1 v2 v3 v4 = liftIO $ dyn338 ptr_glGetTranslatedShaderSourceANGLE v1 v2 v3 v4
+glGetTranslatedShaderSourceANGLE v1 v2 v3 v4 = liftIO $ dyn339 ptr_glGetTranslatedShaderSourceANGLE v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetTranslatedShaderSourceANGLE #-}
 ptr_glGetTranslatedShaderSourceANGLE :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
@@ -384,7 +429,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @uniformBlockName@ pointing to @COMPSIZE()@ elements of type @GLchar@.
   -> m GLuint
-glGetUniformBlockIndex v1 v2 = liftIO $ dyn435 ptr_glGetUniformBlockIndex v1 v2
+glGetUniformBlockIndex v1 v2 = liftIO $ dyn436 ptr_glGetUniformBlockIndex v1 v2
 
 {-# NOINLINE ptr_glGetUniformBlockIndex #-}
 ptr_glGetUniformBlockIndex :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
@@ -397,7 +442,7 @@
   => GLuint -- ^ @program@.
   -> GLint -- ^ @location@.
   -> m GLint
-glGetUniformBufferSizeEXT v1 v2 = liftIO $ dyn436 ptr_glGetUniformBufferSizeEXT v1 v2
+glGetUniformBufferSizeEXT v1 v2 = liftIO $ dyn437 ptr_glGetUniformBufferSizeEXT v1 v2
 
 {-# NOINLINE ptr_glGetUniformBufferSizeEXT #-}
 ptr_glGetUniformBufferSizeEXT :: FunPtr (GLuint -> GLint -> IO GLint)
@@ -413,7 +458,7 @@
   -> Ptr (Ptr GLchar) -- ^ @uniformNames@ pointing to @COMPSIZE(uniformCount)@ elements of type @Ptr GLchar@.
   -> Ptr GLuint -- ^ @uniformIndices@ pointing to @COMPSIZE(uniformCount)@ elements of type @GLuint@.
   -> m ()
-glGetUniformIndices v1 v2 v3 v4 = liftIO $ dyn437 ptr_glGetUniformIndices v1 v2 v3 v4
+glGetUniformIndices v1 v2 v3 v4 = liftIO $ dyn438 ptr_glGetUniformIndices v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetUniformIndices #-}
 ptr_glGetUniformIndices :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
@@ -427,7 +472,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @name@.
   -> m GLint
-glGetUniformLocation v1 v2 = liftIO $ dyn317 ptr_glGetUniformLocation v1 v2
+glGetUniformLocation v1 v2 = liftIO $ dyn318 ptr_glGetUniformLocation v1 v2
 
 {-# NOINLINE ptr_glGetUniformLocation #-}
 ptr_glGetUniformLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
@@ -441,7 +486,7 @@
   => GLhandleARB -- ^ @programObj@ of type @handleARB@.
   -> Ptr GLcharARB -- ^ @name@.
   -> m GLint
-glGetUniformLocationARB v1 v2 = liftIO $ dyn318 ptr_glGetUniformLocationARB v1 v2
+glGetUniformLocationARB v1 v2 = liftIO $ dyn319 ptr_glGetUniformLocationARB v1 v2
 
 {-# NOINLINE ptr_glGetUniformLocationARB #-}
 ptr_glGetUniformLocationARB :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
@@ -454,7 +499,7 @@
   => GLuint -- ^ @program@.
   -> GLint -- ^ @location@.
   -> m GLintptr -- ^ of type @BufferOffset@.
-glGetUniformOffsetEXT v1 v2 = liftIO $ dyn438 ptr_glGetUniformOffsetEXT v1 v2
+glGetUniformOffsetEXT v1 v2 = liftIO $ dyn439 ptr_glGetUniformOffsetEXT v1 v2
 
 {-# NOINLINE ptr_glGetUniformOffsetEXT #-}
 ptr_glGetUniformOffsetEXT :: FunPtr (GLuint -> GLint -> IO GLintptr)
@@ -465,7 +510,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniformSubroutine.xhtml OpenGL 4.x>.
 glGetUniformSubroutineuiv
   :: MonadIO m
-  => GLenum -- ^ @shadertype@.
+  => GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> GLint -- ^ @location@.
   -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
   -> m ()
@@ -484,7 +529,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLdouble@.
   -> m ()
-glGetUniformdv v1 v2 v3 = liftIO $ dyn439 ptr_glGetUniformdv v1 v2 v3
+glGetUniformdv v1 v2 v3 = liftIO $ dyn440 ptr_glGetUniformdv v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformdv #-}
 ptr_glGetUniformdv :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
@@ -499,7 +544,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLfloat@.
   -> m ()
-glGetUniformfv v1 v2 v3 = liftIO $ dyn440 ptr_glGetUniformfv v1 v2 v3
+glGetUniformfv v1 v2 v3 = liftIO $ dyn441 ptr_glGetUniformfv v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformfv #-}
 ptr_glGetUniformfv :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
@@ -514,7 +559,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(programObj,location)@ elements of type @GLfloat@.
   -> m ()
-glGetUniformfvARB v1 v2 v3 = liftIO $ dyn441 ptr_glGetUniformfvARB v1 v2 v3
+glGetUniformfvARB v1 v2 v3 = liftIO $ dyn442 ptr_glGetUniformfvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformfvARB #-}
 ptr_glGetUniformfvARB :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
@@ -528,7 +573,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint64@.
   -> m ()
-glGetUniformi64vARB v1 v2 v3 = liftIO $ dyn442 ptr_glGetUniformi64vARB v1 v2 v3
+glGetUniformi64vARB v1 v2 v3 = liftIO $ dyn443 ptr_glGetUniformi64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformi64vARB #-}
 ptr_glGetUniformi64vARB :: FunPtr (GLuint -> GLint -> Ptr GLint64 -> IO ())
@@ -542,7 +587,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint64EXT@.
   -> m ()
-glGetUniformi64vNV v1 v2 v3 = liftIO $ dyn443 ptr_glGetUniformi64vNV v1 v2 v3
+glGetUniformi64vNV v1 v2 v3 = liftIO $ dyn444 ptr_glGetUniformi64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformi64vNV #-}
 ptr_glGetUniformi64vNV :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
@@ -557,7 +602,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint@.
   -> m ()
-glGetUniformiv v1 v2 v3 = liftIO $ dyn444 ptr_glGetUniformiv v1 v2 v3
+glGetUniformiv v1 v2 v3 = liftIO $ dyn445 ptr_glGetUniformiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformiv #-}
 ptr_glGetUniformiv :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
@@ -572,7 +617,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(programObj,location)@ elements of type @GLint@.
   -> m ()
-glGetUniformivARB v1 v2 v3 = liftIO $ dyn445 ptr_glGetUniformivARB v1 v2 v3
+glGetUniformivARB v1 v2 v3 = liftIO $ dyn446 ptr_glGetUniformivARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformivARB #-}
 ptr_glGetUniformivARB :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
@@ -586,7 +631,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint64@.
   -> m ()
-glGetUniformui64vARB v1 v2 v3 = liftIO $ dyn446 ptr_glGetUniformui64vARB v1 v2 v3
+glGetUniformui64vARB v1 v2 v3 = liftIO $ dyn447 ptr_glGetUniformui64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformui64vARB #-}
 ptr_glGetUniformui64vARB :: FunPtr (GLuint -> GLint -> Ptr GLuint64 -> IO ())
@@ -600,7 +645,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint64EXT@.
   -> m ()
-glGetUniformui64vNV v1 v2 v3 = liftIO $ dyn447 ptr_glGetUniformui64vNV v1 v2 v3
+glGetUniformui64vNV v1 v2 v3 = liftIO $ dyn448 ptr_glGetUniformui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformui64vNV #-}
 ptr_glGetUniformui64vNV :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
@@ -615,7 +660,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint@.
   -> m ()
-glGetUniformuiv v1 v2 v3 = liftIO $ dyn448 ptr_glGetUniformuiv v1 v2 v3
+glGetUniformuiv v1 v2 v3 = liftIO $ dyn449 ptr_glGetUniformuiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformuiv #-}
 ptr_glGetUniformuiv :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
@@ -630,7 +675,7 @@
   -> GLint -- ^ @location@.
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint@.
   -> m ()
-glGetUniformuivEXT v1 v2 v3 = liftIO $ dyn448 ptr_glGetUniformuivEXT v1 v2 v3
+glGetUniformuivEXT v1 v2 v3 = liftIO $ dyn449 ptr_glGetUniformuivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetUniformuivEXT #-}
 ptr_glGetUniformuivEXT :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
@@ -644,7 +689,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLubyte@.
   -> m ()
-glGetUnsignedBytei_vEXT v1 v2 v3 = liftIO $ dyn449 ptr_glGetUnsignedBytei_vEXT v1 v2 v3
+glGetUnsignedBytei_vEXT v1 v2 v3 = liftIO $ dyn450 ptr_glGetUnsignedBytei_vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetUnsignedBytei_vEXT #-}
 ptr_glGetUnsignedBytei_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLubyte -> IO ())
@@ -657,7 +702,7 @@
   => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
   -> Ptr GLubyte -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLubyte@.
   -> m ()
-glGetUnsignedBytevEXT v1 v2 = liftIO $ dyn450 ptr_glGetUnsignedBytevEXT v1 v2
+glGetUnsignedBytevEXT v1 v2 = liftIO $ dyn451 ptr_glGetUnsignedBytevEXT v1 v2
 
 {-# NOINLINE ptr_glGetUnsignedBytevEXT #-}
 ptr_glGetUnsignedBytevEXT :: FunPtr (GLenum -> Ptr GLubyte -> IO ())
@@ -671,7 +716,7 @@
   -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
   -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
   -> m ()
-glGetVariantArrayObjectfvATI v1 v2 v3 = liftIO $ dyn357 ptr_glGetVariantArrayObjectfvATI v1 v2 v3
+glGetVariantArrayObjectfvATI v1 v2 v3 = liftIO $ dyn358 ptr_glGetVariantArrayObjectfvATI v1 v2 v3
 
 {-# NOINLINE ptr_glGetVariantArrayObjectfvATI #-}
 ptr_glGetVariantArrayObjectfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -685,7 +730,7 @@
   -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetVariantArrayObjectivATI v1 v2 v3 = liftIO $ dyn341 ptr_glGetVariantArrayObjectivATI v1 v2 v3
+glGetVariantArrayObjectivATI v1 v2 v3 = liftIO $ dyn342 ptr_glGetVariantArrayObjectivATI v1 v2 v3
 
 {-# NOINLINE ptr_glGetVariantArrayObjectivATI #-}
 ptr_glGetVariantArrayObjectivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -699,7 +744,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glGetVariantBooleanvEXT v1 v2 v3 = liftIO $ dyn356 ptr_glGetVariantBooleanvEXT v1 v2 v3
+glGetVariantBooleanvEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetVariantBooleanvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVariantBooleanvEXT #-}
 ptr_glGetVariantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
@@ -713,7 +758,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
   -> m ()
-glGetVariantFloatvEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetVariantFloatvEXT v1 v2 v3
+glGetVariantFloatvEXT v1 v2 v3 = liftIO $ dyn358 ptr_glGetVariantFloatvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVariantFloatvEXT #-}
 ptr_glGetVariantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -727,7 +772,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
   -> m ()
-glGetVariantIntegervEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetVariantIntegervEXT v1 v2 v3
+glGetVariantIntegervEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetVariantIntegervEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVariantIntegervEXT #-}
 ptr_glGetVariantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -741,7 +786,7 @@
   -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
   -> Ptr (Ptr a) -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @Ptr a@.
   -> m ()
-glGetVariantPointervEXT v1 v2 v3 = liftIO $ dyn369 ptr_glGetVariantPointervEXT v1 v2 v3
+glGetVariantPointervEXT v1 v2 v3 = liftIO $ dyn370 ptr_glGetVariantPointervEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVariantPointervEXT #-}
 ptr_glGetVariantPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -754,7 +799,7 @@
   => GLuint -- ^ @program@.
   -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLint
-glGetVaryingLocationNV v1 v2 = liftIO $ dyn317 ptr_glGetVaryingLocationNV v1 v2
+glGetVaryingLocationNV v1 v2 = liftIO $ dyn318 ptr_glGetVaryingLocationNV v1 v2
 
 {-# NOINLINE ptr_glGetVaryingLocationNV #-}
 ptr_glGetVaryingLocationNV :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
@@ -767,10 +812,10 @@
   :: MonadIO m
   => GLuint -- ^ @vaobj@.
   -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexArrayPName](Graphics-GL-Groups.html#VertexArrayPName).
   -> Ptr GLint64 -- ^ @param@.
   -> m ()
-glGetVertexArrayIndexed64iv v1 v2 v3 v4 = liftIO $ dyn451 ptr_glGetVertexArrayIndexed64iv v1 v2 v3 v4
+glGetVertexArrayIndexed64iv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glGetVertexArrayIndexed64iv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetVertexArrayIndexed64iv #-}
 ptr_glGetVertexArrayIndexed64iv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
@@ -783,10 +828,10 @@
   :: MonadIO m
   => GLuint -- ^ @vaobj@.
   -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexArrayPName](Graphics-GL-Groups.html#VertexArrayPName).
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glGetVertexArrayIndexediv v1 v2 v3 v4 = liftIO $ dyn307 ptr_glGetVertexArrayIndexediv v1 v2 v3 v4
+glGetVertexArrayIndexediv v1 v2 v3 v4 = liftIO $ dyn308 ptr_glGetVertexArrayIndexediv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetVertexArrayIndexediv #-}
 ptr_glGetVertexArrayIndexediv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -798,10 +843,10 @@
   :: MonadIO m
   => GLuint -- ^ @vaobj@.
   -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexArrayPName](Graphics-GL-Groups.html#VertexArrayPName).
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4 = liftIO $ dyn307 ptr_glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4
+glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4 = liftIO $ dyn308 ptr_glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetVertexArrayIntegeri_vEXT #-}
 ptr_glGetVertexArrayIntegeri_vEXT :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -812,10 +857,10 @@
 glGetVertexArrayIntegervEXT
   :: MonadIO m
   => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexArrayPName](Graphics-GL-Groups.html#VertexArrayPName).
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glGetVertexArrayIntegervEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexArrayIntegervEXT v1 v2 v3
+glGetVertexArrayIntegervEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexArrayIntegervEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexArrayIntegervEXT #-}
 ptr_glGetVertexArrayIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -827,10 +872,10 @@
   :: MonadIO m
   => GLuint -- ^ @vaobj@.
   -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexArrayPName](Graphics-GL-Groups.html#VertexArrayPName).
   -> Ptr (Ptr a) -- ^ @param@.
   -> m ()
-glGetVertexArrayPointeri_vEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glGetVertexArrayPointeri_vEXT v1 v2 v3 v4
+glGetVertexArrayPointeri_vEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetVertexArrayPointeri_vEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetVertexArrayPointeri_vEXT #-}
 ptr_glGetVertexArrayPointeri_vEXT :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -841,10 +886,10 @@
 glGetVertexArrayPointervEXT
   :: MonadIO m
   => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexArrayPName](Graphics-GL-Groups.html#VertexArrayPName).
   -> Ptr (Ptr a) -- ^ @param@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetVertexArrayPointervEXT v1 v2 v3 = liftIO $ dyn369 ptr_glGetVertexArrayPointervEXT v1 v2 v3
+glGetVertexArrayPointervEXT v1 v2 v3 = liftIO $ dyn370 ptr_glGetVertexArrayPointervEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexArrayPointervEXT #-}
 ptr_glGetVertexArrayPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -856,10 +901,10 @@
 glGetVertexArrayiv
   :: MonadIO m
   => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexArrayPName](Graphics-GL-Groups.html#VertexArrayPName).
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glGetVertexArrayiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexArrayiv v1 v2 v3
+glGetVertexArrayiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexArrayiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexArrayiv #-}
 ptr_glGetVertexArrayiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -873,7 +918,7 @@
   -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetVertexAttribArrayObjectfvATI v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribArrayObjectfvATI v1 v2 v3
+glGetVertexAttribArrayObjectfvATI v1 v2 v3 = liftIO $ dyn358 ptr_glGetVertexAttribArrayObjectfvATI v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribArrayObjectfvATI #-}
 ptr_glGetVertexAttribArrayObjectfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -887,7 +932,7 @@
   -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetVertexAttribArrayObjectivATI v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexAttribArrayObjectivATI v1 v2 v3
+glGetVertexAttribArrayObjectivATI v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexAttribArrayObjectivATI v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribArrayObjectivATI #-}
 ptr_glGetVertexAttribArrayObjectivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -899,10 +944,10 @@
 glGetVertexAttribIiv
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetVertexAttribIiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexAttribIiv v1 v2 v3
+glGetVertexAttribIiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexAttribIiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribIiv #-}
 ptr_glGetVertexAttribIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -914,10 +959,10 @@
 glGetVertexAttribIivEXT
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetVertexAttribIivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexAttribIivEXT v1 v2 v3
+glGetVertexAttribIivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexAttribIivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribIivEXT #-}
 ptr_glGetVertexAttribIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -929,10 +974,10 @@
 glGetVertexAttribIuiv
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glGetVertexAttribIuiv v1 v2 v3 = liftIO $ dyn384 ptr_glGetVertexAttribIuiv v1 v2 v3
+glGetVertexAttribIuiv v1 v2 v3 = liftIO $ dyn385 ptr_glGetVertexAttribIuiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribIuiv #-}
 ptr_glGetVertexAttribIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -944,10 +989,10 @@
 glGetVertexAttribIuivEXT
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glGetVertexAttribIuivEXT v1 v2 v3 = liftIO $ dyn384 ptr_glGetVertexAttribIuivEXT v1 v2 v3
+glGetVertexAttribIuivEXT v1 v2 v3 = liftIO $ dyn385 ptr_glGetVertexAttribIuivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribIuivEXT #-}
 ptr_glGetVertexAttribIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -959,10 +1004,10 @@
 glGetVertexAttribLdv
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glGetVertexAttribLdv v1 v2 v3 = liftIO $ dyn453 ptr_glGetVertexAttribLdv v1 v2 v3
+glGetVertexAttribLdv v1 v2 v3 = liftIO $ dyn454 ptr_glGetVertexAttribLdv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribLdv #-}
 ptr_glGetVertexAttribLdv :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -974,10 +1019,10 @@
 glGetVertexAttribLdvEXT
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glGetVertexAttribLdvEXT v1 v2 v3 = liftIO $ dyn453 ptr_glGetVertexAttribLdvEXT v1 v2 v3
+glGetVertexAttribLdvEXT v1 v2 v3 = liftIO $ dyn454 ptr_glGetVertexAttribLdvEXT v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribLdvEXT #-}
 ptr_glGetVertexAttribLdvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -988,10 +1033,10 @@
 glGetVertexAttribLi64vNV
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64EXT@.
   -> m ()
-glGetVertexAttribLi64vNV v1 v2 v3 = liftIO $ dyn454 ptr_glGetVertexAttribLi64vNV v1 v2 v3
+glGetVertexAttribLi64vNV v1 v2 v3 = liftIO $ dyn455 ptr_glGetVertexAttribLi64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribLi64vNV #-}
 ptr_glGetVertexAttribLi64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
@@ -1002,10 +1047,10 @@
 glGetVertexAttribLui64vARB
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLuint64EXT -- ^ @params@.
   -> m ()
-glGetVertexAttribLui64vARB v1 v2 v3 = liftIO $ dyn368 ptr_glGetVertexAttribLui64vARB v1 v2 v3
+glGetVertexAttribLui64vARB v1 v2 v3 = liftIO $ dyn369 ptr_glGetVertexAttribLui64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribLui64vARB #-}
 ptr_glGetVertexAttribLui64vARB :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
@@ -1016,10 +1061,10 @@
 glGetVertexAttribLui64vNV
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
   -> m ()
-glGetVertexAttribLui64vNV v1 v2 v3 = liftIO $ dyn368 ptr_glGetVertexAttribLui64vNV v1 v2 v3
+glGetVertexAttribLui64vNV v1 v2 v3 = liftIO $ dyn369 ptr_glGetVertexAttribLui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribLui64vNV #-}
 ptr_glGetVertexAttribLui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
@@ -1034,7 +1079,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPointerPropertyARB@.
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetVertexAttribPointerv v1 v2 v3 = liftIO $ dyn369 ptr_glGetVertexAttribPointerv v1 v2 v3
+glGetVertexAttribPointerv v1 v2 v3 = liftIO $ dyn370 ptr_glGetVertexAttribPointerv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribPointerv #-}
 ptr_glGetVertexAttribPointerv :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -1049,7 +1094,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPointerPropertyARB@.
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetVertexAttribPointervARB v1 v2 v3 = liftIO $ dyn369 ptr_glGetVertexAttribPointervARB v1 v2 v3
+glGetVertexAttribPointervARB v1 v2 v3 = liftIO $ dyn370 ptr_glGetVertexAttribPointervARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribPointervARB #-}
 ptr_glGetVertexAttribPointervARB :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -1064,7 +1109,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
   -> m ()
-glGetVertexAttribPointervNV v1 v2 v3 = liftIO $ dyn369 ptr_glGetVertexAttribPointervNV v1 v2 v3
+glGetVertexAttribPointervNV v1 v2 v3 = liftIO $ dyn370 ptr_glGetVertexAttribPointervNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribPointervNV #-}
 ptr_glGetVertexAttribPointervNV :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
@@ -1079,7 +1124,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glGetVertexAttribdv v1 v2 v3 = liftIO $ dyn453 ptr_glGetVertexAttribdv v1 v2 v3
+glGetVertexAttribdv v1 v2 v3 = liftIO $ dyn454 ptr_glGetVertexAttribdv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribdv #-}
 ptr_glGetVertexAttribdv :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -1094,7 +1139,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glGetVertexAttribdvARB v1 v2 v3 = liftIO $ dyn453 ptr_glGetVertexAttribdvARB v1 v2 v3
+glGetVertexAttribdvARB v1 v2 v3 = liftIO $ dyn454 ptr_glGetVertexAttribdvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribdvARB #-}
 ptr_glGetVertexAttribdvARB :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -1109,7 +1154,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLdouble -- ^ @params@ pointing to @1@ element of type @GLdouble@.
   -> m ()
-glGetVertexAttribdvNV v1 v2 v3 = liftIO $ dyn453 ptr_glGetVertexAttribdvNV v1 v2 v3
+glGetVertexAttribdvNV v1 v2 v3 = liftIO $ dyn454 ptr_glGetVertexAttribdvNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribdvNV #-}
 ptr_glGetVertexAttribdvNV :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -1124,7 +1169,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetVertexAttribfv v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribfv v1 v2 v3
+glGetVertexAttribfv v1 v2 v3 = liftIO $ dyn358 ptr_glGetVertexAttribfv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribfv #-}
 ptr_glGetVertexAttribfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1139,7 +1184,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glGetVertexAttribfvARB v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribfvARB v1 v2 v3
+glGetVertexAttribfvARB v1 v2 v3 = liftIO $ dyn358 ptr_glGetVertexAttribfvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribfvARB #-}
 ptr_glGetVertexAttribfvARB :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1154,7 +1199,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
   -> m ()
-glGetVertexAttribfvNV v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribfvNV v1 v2 v3
+glGetVertexAttribfvNV v1 v2 v3 = liftIO $ dyn358 ptr_glGetVertexAttribfvNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribfvNV #-}
 ptr_glGetVertexAttribfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1169,7 +1214,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glGetVertexAttribiv v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexAttribiv v1 v2 v3
+glGetVertexAttribiv v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexAttribiv v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribiv #-}
 ptr_glGetVertexAttribiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1184,7 +1229,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glGetVertexAttribivARB v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexAttribivARB v1 v2 v3
+glGetVertexAttribivARB v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexAttribivARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribivARB #-}
 ptr_glGetVertexAttribivARB :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1199,7 +1244,7 @@
   -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
   -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
   -> m ()
-glGetVertexAttribivNV v1 v2 v3 = liftIO $ dyn341 ptr_glGetVertexAttribivNV v1 v2 v3
+glGetVertexAttribivNV v1 v2 v3 = liftIO $ dyn342 ptr_glGetVertexAttribivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVertexAttribivNV #-}
 ptr_glGetVertexAttribivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1214,7 +1259,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glGetVideoCaptureStreamdvNV v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetVideoCaptureStreamdvNV v1 v2 v3 v4
+glGetVideoCaptureStreamdvNV v1 v2 v3 v4 = liftIO $ dyn456 ptr_glGetVideoCaptureStreamdvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetVideoCaptureStreamdvNV #-}
 ptr_glGetVideoCaptureStreamdvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -1229,7 +1274,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glGetVideoCaptureStreamfvNV v1 v2 v3 v4 = liftIO $ dyn456 ptr_glGetVideoCaptureStreamfvNV v1 v2 v3 v4
+glGetVideoCaptureStreamfvNV v1 v2 v3 v4 = liftIO $ dyn457 ptr_glGetVideoCaptureStreamfvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetVideoCaptureStreamfvNV #-}
 ptr_glGetVideoCaptureStreamfvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1244,7 +1289,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetVideoCaptureStreamivNV v1 v2 v3 v4 = liftIO $ dyn307 ptr_glGetVideoCaptureStreamivNV v1 v2 v3 v4
+glGetVideoCaptureStreamivNV v1 v2 v3 v4 = liftIO $ dyn308 ptr_glGetVideoCaptureStreamivNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetVideoCaptureStreamivNV #-}
 ptr_glGetVideoCaptureStreamivNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1258,7 +1303,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetVideoCaptureivNV v1 v2 v3 = liftIO $ dyn341 ptr_glGetVideoCaptureivNV v1 v2 v3
+glGetVideoCaptureivNV v1 v2 v3 = liftIO $ dyn342 ptr_glGetVideoCaptureivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVideoCaptureivNV #-}
 ptr_glGetVideoCaptureivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1272,7 +1317,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64EXT@.
   -> m ()
-glGetVideoi64vNV v1 v2 v3 = liftIO $ dyn454 ptr_glGetVideoi64vNV v1 v2 v3
+glGetVideoi64vNV v1 v2 v3 = liftIO $ dyn455 ptr_glGetVideoi64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVideoi64vNV #-}
 ptr_glGetVideoi64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
@@ -1286,7 +1331,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glGetVideoivNV v1 v2 v3 = liftIO $ dyn341 ptr_glGetVideoivNV v1 v2 v3
+glGetVideoivNV v1 v2 v3 = liftIO $ dyn342 ptr_glGetVideoivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVideoivNV #-}
 ptr_glGetVideoivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1300,7 +1345,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
   -> m ()
-glGetVideoui64vNV v1 v2 v3 = liftIO $ dyn368 ptr_glGetVideoui64vNV v1 v2 v3
+glGetVideoui64vNV v1 v2 v3 = liftIO $ dyn369 ptr_glGetVideoui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVideoui64vNV #-}
 ptr_glGetVideoui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
@@ -1314,7 +1359,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glGetVideouivNV v1 v2 v3 = liftIO $ dyn384 ptr_glGetVideouivNV v1 v2 v3
+glGetVideouivNV v1 v2 v3 = liftIO $ dyn385 ptr_glGetVideouivNV v1 v2 v3
 
 {-# NOINLINE ptr_glGetVideouivNV #-}
 ptr_glGetVideouivNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -1326,7 +1371,7 @@
   :: MonadIO m
   => Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
   -> m GLVULKANPROCNV
-glGetVkProcAddrNV v1 = liftIO $ dyn457 ptr_glGetVkProcAddrNV v1
+glGetVkProcAddrNV v1 = liftIO $ dyn458 ptr_glGetVkProcAddrNV v1
 
 {-# NOINLINE ptr_glGetVkProcAddrNV #-}
 ptr_glGetVkProcAddrNV :: FunPtr (Ptr GLchar -> IO GLVULKANPROCNV)
@@ -1336,13 +1381,13 @@
 
 glGetnColorTable
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @table@.
   -> m ()
-glGetnColorTable v1 v2 v3 v4 v5 = liftIO $ dyn458 ptr_glGetnColorTable v1 v2 v3 v4 v5
+glGetnColorTable v1 v2 v3 v4 v5 = liftIO $ dyn459 ptr_glGetnColorTable v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetnColorTable #-}
 ptr_glGetnColorTable :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1352,13 +1397,13 @@
 
 glGetnColorTableARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @target@ of type [ColorTableTarget](Graphics-GL-Groups.html#ColorTableTarget).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @table@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glGetnColorTableARB v1 v2 v3 v4 v5 = liftIO $ dyn458 ptr_glGetnColorTableARB v1 v2 v3 v4 v5
+glGetnColorTableARB v1 v2 v3 v4 v5 = liftIO $ dyn459 ptr_glGetnColorTableARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetnColorTableARB #-}
 ptr_glGetnColorTableARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1369,12 +1414,12 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
 glGetnCompressedTexImage
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @lod@.
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @pixels@.
   -> m ()
-glGetnCompressedTexImage v1 v2 v3 v4 = liftIO $ dyn459 ptr_glGetnCompressedTexImage v1 v2 v3 v4
+glGetnCompressedTexImage v1 v2 v3 v4 = liftIO $ dyn460 ptr_glGetnCompressedTexImage v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnCompressedTexImage #-}
 ptr_glGetnCompressedTexImage :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
@@ -1384,12 +1429,12 @@
 
 glGetnCompressedTexImageARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @lod@.
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glGetnCompressedTexImageARB v1 v2 v3 v4 = liftIO $ dyn459 ptr_glGetnCompressedTexImageARB v1 v2 v3 v4
+glGetnCompressedTexImageARB v1 v2 v3 v4 = liftIO $ dyn460 ptr_glGetnCompressedTexImageARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnCompressedTexImageARB #-}
 ptr_glGetnCompressedTexImageARB :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
@@ -1399,13 +1444,13 @@
 
 glGetnConvolutionFilter
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @image@.
   -> m ()
-glGetnConvolutionFilter v1 v2 v3 v4 v5 = liftIO $ dyn458 ptr_glGetnConvolutionFilter v1 v2 v3 v4 v5
+glGetnConvolutionFilter v1 v2 v3 v4 v5 = liftIO $ dyn459 ptr_glGetnConvolutionFilter v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetnConvolutionFilter #-}
 ptr_glGetnConvolutionFilter :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1415,13 +1460,13 @@
 
 glGetnConvolutionFilterARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @target@ of type [ConvolutionTarget](Graphics-GL-Groups.html#ConvolutionTarget).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @image@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glGetnConvolutionFilterARB v1 v2 v3 v4 v5 = liftIO $ dyn458 ptr_glGetnConvolutionFilterARB v1 v2 v3 v4 v5
+glGetnConvolutionFilterARB v1 v2 v3 v4 v5 = liftIO $ dyn459 ptr_glGetnConvolutionFilterARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glGetnConvolutionFilterARB #-}
 ptr_glGetnConvolutionFilterARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1431,14 +1476,14 @@
 
 glGetnHistogram
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
   -> GLboolean -- ^ @reset@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @values@.
   -> m ()
-glGetnHistogram v1 v2 v3 v4 v5 v6 = liftIO $ dyn460 ptr_glGetnHistogram v1 v2 v3 v4 v5 v6
+glGetnHistogram v1 v2 v3 v4 v5 v6 = liftIO $ dyn461 ptr_glGetnHistogram v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetnHistogram #-}
 ptr_glGetnHistogram :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1448,14 +1493,14 @@
 
 glGetnHistogramARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
   -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glGetnHistogramARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn460 ptr_glGetnHistogramARB v1 v2 v3 v4 v5 v6
+glGetnHistogramARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn461 ptr_glGetnHistogramARB v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetnHistogramARB #-}
 ptr_glGetnHistogramARB :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1465,12 +1510,12 @@
 
 glGetnMapdv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLdouble -- ^ @v@.
   -> m ()
-glGetnMapdv v1 v2 v3 v4 = liftIO $ dyn461 ptr_glGetnMapdv v1 v2 v3 v4
+glGetnMapdv v1 v2 v3 v4 = liftIO $ dyn462 ptr_glGetnMapdv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnMapdv #-}
 ptr_glGetnMapdv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1480,12 +1525,12 @@
 
 glGetnMapdvARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLdouble -- ^ @v@ pointing to @bufSize@ elements of type @GLdouble@.
   -> m ()
-glGetnMapdvARB v1 v2 v3 v4 = liftIO $ dyn461 ptr_glGetnMapdvARB v1 v2 v3 v4
+glGetnMapdvARB v1 v2 v3 v4 = liftIO $ dyn462 ptr_glGetnMapdvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnMapdvARB #-}
 ptr_glGetnMapdvARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1495,12 +1540,12 @@
 
 glGetnMapfv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLfloat -- ^ @v@.
   -> m ()
-glGetnMapfv v1 v2 v3 v4 = liftIO $ dyn462 ptr_glGetnMapfv v1 v2 v3 v4
+glGetnMapfv v1 v2 v3 v4 = liftIO $ dyn463 ptr_glGetnMapfv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnMapfv #-}
 ptr_glGetnMapfv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1510,12 +1555,12 @@
 
 glGetnMapfvARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLfloat -- ^ @v@ pointing to @bufSize@ elements of type @GLfloat@.
   -> m ()
-glGetnMapfvARB v1 v2 v3 v4 = liftIO $ dyn462 ptr_glGetnMapfvARB v1 v2 v3 v4
+glGetnMapfvARB v1 v2 v3 v4 = liftIO $ dyn463 ptr_glGetnMapfvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnMapfvARB #-}
 ptr_glGetnMapfvARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1525,12 +1570,12 @@
 
 glGetnMapiv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @v@.
   -> m ()
-glGetnMapiv v1 v2 v3 v4 = liftIO $ dyn463 ptr_glGetnMapiv v1 v2 v3 v4
+glGetnMapiv v1 v2 v3 v4 = liftIO $ dyn464 ptr_glGetnMapiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnMapiv #-}
 ptr_glGetnMapiv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
@@ -1540,12 +1585,12 @@
 
 glGetnMapivARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [MapQuery](Graphics-GL-Groups.html#MapQuery).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @v@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetnMapivARB v1 v2 v3 v4 = liftIO $ dyn463 ptr_glGetnMapivARB v1 v2 v3 v4
+glGetnMapivARB v1 v2 v3 v4 = liftIO $ dyn464 ptr_glGetnMapivARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnMapivARB #-}
 ptr_glGetnMapivARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
@@ -1555,61 +1600,16 @@
 
 glGetnMinmax
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
   -> GLboolean -- ^ @reset@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @values@.
   -> m ()
-glGetnMinmax v1 v2 v3 v4 v5 v6 = liftIO $ dyn460 ptr_glGetnMinmax v1 v2 v3 v4 v5 v6
+glGetnMinmax v1 v2 v3 v4 v5 v6 = liftIO $ dyn461 ptr_glGetnMinmax v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetnMinmax #-}
 ptr_glGetnMinmax :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
 ptr_glGetnMinmax = unsafePerformIO $ getCommand "glGetnMinmax"
-
--- glGetnMinmaxARB -------------------------------------------------------------
-
-glGetnMinmaxARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetnMinmaxARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn460 ptr_glGetnMinmaxARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetnMinmaxARB #-}
-ptr_glGetnMinmaxARB :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnMinmaxARB = unsafePerformIO $ getCommand "glGetnMinmaxARB"
-
--- glGetnPixelMapfv ------------------------------------------------------------
-
-glGetnPixelMapfv
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @values@.
-  -> m ()
-glGetnPixelMapfv v1 v2 v3 = liftIO $ dyn228 ptr_glGetnPixelMapfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapfv #-}
-ptr_glGetnPixelMapfv :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnPixelMapfv = unsafePerformIO $ getCommand "glGetnPixelMapfv"
-
--- glGetnPixelMapfvARB ---------------------------------------------------------
-
-glGetnPixelMapfvARB
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @values@ pointing to @bufSize@ elements of type @GLfloat@.
-  -> m ()
-glGetnPixelMapfvARB v1 v2 v3 = liftIO $ dyn228 ptr_glGetnPixelMapfvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapfvARB #-}
-ptr_glGetnPixelMapfvARB :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnPixelMapfvARB = unsafePerformIO $ getCommand "glGetnPixelMapfvARB"
 
diff --git a/src/Graphics/GL/Functions/F14.hs b/src/Graphics/GL/Functions/F14.hs
--- a/src/Graphics/GL/Functions/F14.hs
+++ b/src/Graphics/GL/Functions/F14.hs
@@ -15,6 +15,9 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F14 (
+  glGetnMinmaxARB,
+  glGetnPixelMapfv,
+  glGetnPixelMapfvARB,
   glGetnPixelMapuiv,
   glGetnPixelMapuivARB,
   glGetnPixelMapusv,
@@ -111,10 +114,7 @@
   glIsFenceAPPLE,
   glIsFenceNV,
   glIsFramebuffer,
-  glIsFramebufferEXT,
-  glIsFramebufferOES,
-  glIsImageHandleResidentARB,
-  glIsImageHandleResidentNV
+  glIsFramebufferEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,11 +123,56 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glGetnMinmaxARB -------------------------------------------------------------
+
+glGetnMinmaxARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetnMinmaxARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn461 ptr_glGetnMinmaxARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetnMinmaxARB #-}
+ptr_glGetnMinmaxARB :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnMinmaxARB = unsafePerformIO $ getCommand "glGetnMinmaxARB"
+
+-- glGetnPixelMapfv ------------------------------------------------------------
+
+glGetnPixelMapfv
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @values@.
+  -> m ()
+glGetnPixelMapfv v1 v2 v3 = liftIO $ dyn229 ptr_glGetnPixelMapfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapfv #-}
+ptr_glGetnPixelMapfv :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnPixelMapfv = unsafePerformIO $ getCommand "glGetnPixelMapfv"
+
+-- glGetnPixelMapfvARB ---------------------------------------------------------
+
+glGetnPixelMapfvARB
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @values@ pointing to @bufSize@ elements of type @GLfloat@.
+  -> m ()
+glGetnPixelMapfvARB v1 v2 v3 = liftIO $ dyn229 ptr_glGetnPixelMapfvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapfvARB #-}
+ptr_glGetnPixelMapfvARB :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnPixelMapfvARB = unsafePerformIO $ getCommand "glGetnPixelMapfvARB"
+
 -- glGetnPixelMapuiv -----------------------------------------------------------
 
 glGetnPixelMapuiv
   :: MonadIO m
-  => GLenum -- ^ @map@.
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLuint -- ^ @values@.
   -> m ()
@@ -141,7 +186,7 @@
 
 glGetnPixelMapuivARB
   :: MonadIO m
-  => GLenum -- ^ @map@.
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLuint -- ^ @values@ pointing to @bufSize@ elements of type @GLuint@.
   -> m ()
@@ -155,11 +200,11 @@
 
 glGetnPixelMapusv
   :: MonadIO m
-  => GLenum -- ^ @map@.
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLushort -- ^ @values@.
   -> m ()
-glGetnPixelMapusv v1 v2 v3 = liftIO $ dyn464 ptr_glGetnPixelMapusv v1 v2 v3
+glGetnPixelMapusv v1 v2 v3 = liftIO $ dyn465 ptr_glGetnPixelMapusv v1 v2 v3
 
 {-# NOINLINE ptr_glGetnPixelMapusv #-}
 ptr_glGetnPixelMapusv :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
@@ -169,11 +214,11 @@
 
 glGetnPixelMapusvARB
   :: MonadIO m
-  => GLenum -- ^ @map@.
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLushort -- ^ @values@ pointing to @bufSize@ elements of type @GLushort@.
   -> m ()
-glGetnPixelMapusvARB v1 v2 v3 = liftIO $ dyn464 ptr_glGetnPixelMapusvARB v1 v2 v3
+glGetnPixelMapusvARB v1 v2 v3 = liftIO $ dyn465 ptr_glGetnPixelMapusvARB v1 v2 v3
 
 {-# NOINLINE ptr_glGetnPixelMapusvARB #-}
 ptr_glGetnPixelMapusvARB :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
@@ -186,7 +231,7 @@
   => GLsizei -- ^ @bufSize@.
   -> Ptr GLubyte -- ^ @pattern@.
   -> m ()
-glGetnPolygonStipple v1 v2 = liftIO $ dyn465 ptr_glGetnPolygonStipple v1 v2
+glGetnPolygonStipple v1 v2 = liftIO $ dyn466 ptr_glGetnPolygonStipple v1 v2
 
 {-# NOINLINE ptr_glGetnPolygonStipple #-}
 ptr_glGetnPolygonStipple :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
@@ -199,7 +244,7 @@
   => GLsizei -- ^ @bufSize@.
   -> Ptr GLubyte -- ^ @pattern@ pointing to @bufSize@ elements of type @GLubyte@.
   -> m ()
-glGetnPolygonStippleARB v1 v2 = liftIO $ dyn465 ptr_glGetnPolygonStippleARB v1 v2
+glGetnPolygonStippleARB v1 v2 = liftIO $ dyn466 ptr_glGetnPolygonStippleARB v1 v2
 
 {-# NOINLINE ptr_glGetnPolygonStippleARB #-}
 ptr_glGetnPolygonStippleARB :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
@@ -209,16 +254,16 @@
 
 glGetnSeparableFilter
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @rowBufSize@.
   -> Ptr a -- ^ @row@.
   -> GLsizei -- ^ @columnBufSize@.
   -> Ptr b -- ^ @column@.
   -> Ptr c -- ^ @span@.
   -> m ()
-glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn466 ptr_glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8
+glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn467 ptr_glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glGetnSeparableFilter #-}
 ptr_glGetnSeparableFilter :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
@@ -228,16 +273,16 @@
 
 glGetnSeparableFilterARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @rowBufSize@.
   -> Ptr a -- ^ @row@ pointing to @rowBufSize@ elements of type @a@.
   -> GLsizei -- ^ @columnBufSize@.
   -> Ptr b -- ^ @column@ pointing to @columnBufSize@ elements of type @b@.
   -> Ptr c -- ^ @span@ pointing to @0@ elements of type @c@.
   -> m ()
-glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn466 ptr_glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8
+glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn467 ptr_glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glGetnSeparableFilterARB #-}
 ptr_glGetnSeparableFilterARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
@@ -248,14 +293,14 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
 glGetnTexImage
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @pixels@.
   -> m ()
-glGetnTexImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn467 ptr_glGetnTexImage v1 v2 v3 v4 v5 v6
+glGetnTexImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn468 ptr_glGetnTexImage v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetnTexImage #-}
 ptr_glGetnTexImage :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -265,14 +310,14 @@
 
 glGetnTexImageARB
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glGetnTexImageARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn467 ptr_glGetnTexImageARB v1 v2 v3 v4 v5 v6
+glGetnTexImageARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn468 ptr_glGetnTexImageARB v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glGetnTexImageARB #-}
 ptr_glGetnTexImageARB :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -288,7 +333,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLdouble -- ^ @params@.
   -> m ()
-glGetnUniformdv v1 v2 v3 v4 = liftIO $ dyn468 ptr_glGetnUniformdv v1 v2 v3 v4
+glGetnUniformdv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glGetnUniformdv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformdv #-}
 ptr_glGetnUniformdv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -303,7 +348,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLdouble -- ^ @params@ pointing to @bufSize@ elements of type @GLdouble@.
   -> m ()
-glGetnUniformdvARB v1 v2 v3 v4 = liftIO $ dyn468 ptr_glGetnUniformdvARB v1 v2 v3 v4
+glGetnUniformdvARB v1 v2 v3 v4 = liftIO $ dyn469 ptr_glGetnUniformdvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformdvARB #-}
 ptr_glGetnUniformdvARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -319,7 +364,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLfloat -- ^ @params@.
   -> m ()
-glGetnUniformfv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glGetnUniformfv v1 v2 v3 v4
+glGetnUniformfv v1 v2 v3 v4 = liftIO $ dyn470 ptr_glGetnUniformfv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformfv #-}
 ptr_glGetnUniformfv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -334,7 +379,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
   -> m ()
-glGetnUniformfvARB v1 v2 v3 v4 = liftIO $ dyn469 ptr_glGetnUniformfvARB v1 v2 v3 v4
+glGetnUniformfvARB v1 v2 v3 v4 = liftIO $ dyn470 ptr_glGetnUniformfvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformfvARB #-}
 ptr_glGetnUniformfvARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -350,7 +395,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
   -> m ()
-glGetnUniformfvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glGetnUniformfvEXT v1 v2 v3 v4
+glGetnUniformfvEXT v1 v2 v3 v4 = liftIO $ dyn470 ptr_glGetnUniformfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformfvEXT #-}
 ptr_glGetnUniformfvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -366,7 +411,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLfloat -- ^ @params@.
   -> m ()
-glGetnUniformfvKHR v1 v2 v3 v4 = liftIO $ dyn469 ptr_glGetnUniformfvKHR v1 v2 v3 v4
+glGetnUniformfvKHR v1 v2 v3 v4 = liftIO $ dyn470 ptr_glGetnUniformfvKHR v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformfvKHR #-}
 ptr_glGetnUniformfvKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -381,7 +426,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint64 -- ^ @params@.
   -> m ()
-glGetnUniformi64vARB v1 v2 v3 v4 = liftIO $ dyn470 ptr_glGetnUniformi64vARB v1 v2 v3 v4
+glGetnUniformi64vARB v1 v2 v3 v4 = liftIO $ dyn471 ptr_glGetnUniformi64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformi64vARB #-}
 ptr_glGetnUniformi64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
@@ -397,7 +442,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetnUniformiv v1 v2 v3 v4 = liftIO $ dyn471 ptr_glGetnUniformiv v1 v2 v3 v4
+glGetnUniformiv v1 v2 v3 v4 = liftIO $ dyn472 ptr_glGetnUniformiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformiv #-}
 ptr_glGetnUniformiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -412,7 +457,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetnUniformivARB v1 v2 v3 v4 = liftIO $ dyn471 ptr_glGetnUniformivARB v1 v2 v3 v4
+glGetnUniformivARB v1 v2 v3 v4 = liftIO $ dyn472 ptr_glGetnUniformivARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformivARB #-}
 ptr_glGetnUniformivARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -428,7 +473,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glGetnUniformivEXT v1 v2 v3 v4 = liftIO $ dyn471 ptr_glGetnUniformivEXT v1 v2 v3 v4
+glGetnUniformivEXT v1 v2 v3 v4 = liftIO $ dyn472 ptr_glGetnUniformivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformivEXT #-}
 ptr_glGetnUniformivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -444,7 +489,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glGetnUniformivKHR v1 v2 v3 v4 = liftIO $ dyn471 ptr_glGetnUniformivKHR v1 v2 v3 v4
+glGetnUniformivKHR v1 v2 v3 v4 = liftIO $ dyn472 ptr_glGetnUniformivKHR v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformivKHR #-}
 ptr_glGetnUniformivKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -459,7 +504,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLuint64 -- ^ @params@.
   -> m ()
-glGetnUniformui64vARB v1 v2 v3 v4 = liftIO $ dyn472 ptr_glGetnUniformui64vARB v1 v2 v3 v4
+glGetnUniformui64vARB v1 v2 v3 v4 = liftIO $ dyn473 ptr_glGetnUniformui64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformui64vARB #-}
 ptr_glGetnUniformui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -475,7 +520,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLuint -- ^ @params@.
   -> m ()
-glGetnUniformuiv v1 v2 v3 v4 = liftIO $ dyn473 ptr_glGetnUniformuiv v1 v2 v3 v4
+glGetnUniformuiv v1 v2 v3 v4 = liftIO $ dyn474 ptr_glGetnUniformuiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformuiv #-}
 ptr_glGetnUniformuiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -490,7 +535,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLuint -- ^ @params@ pointing to @bufSize@ elements of type @GLuint@.
   -> m ()
-glGetnUniformuivARB v1 v2 v3 v4 = liftIO $ dyn473 ptr_glGetnUniformuivARB v1 v2 v3 v4
+glGetnUniformuivARB v1 v2 v3 v4 = liftIO $ dyn474 ptr_glGetnUniformuivARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformuivARB #-}
 ptr_glGetnUniformuivARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -506,7 +551,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr GLuint -- ^ @params@.
   -> m ()
-glGetnUniformuivKHR v1 v2 v3 v4 = liftIO $ dyn473 ptr_glGetnUniformuivKHR v1 v2 v3 v4
+glGetnUniformuivKHR v1 v2 v3 v4 = liftIO $ dyn474 ptr_glGetnUniformuivKHR v1 v2 v3 v4
 
 {-# NOINLINE ptr_glGetnUniformuivKHR #-}
 ptr_glGetnUniformuivKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -518,7 +563,7 @@
   :: MonadIO m
   => GLbyte -- ^ @factor@.
   -> m ()
-glGlobalAlphaFactorbSUN v1 = liftIO $ dyn474 ptr_glGlobalAlphaFactorbSUN v1
+glGlobalAlphaFactorbSUN v1 = liftIO $ dyn475 ptr_glGlobalAlphaFactorbSUN v1
 
 {-# NOINLINE ptr_glGlobalAlphaFactorbSUN #-}
 ptr_glGlobalAlphaFactorbSUN :: FunPtr (GLbyte -> IO ())
@@ -566,7 +611,7 @@
   :: MonadIO m
   => GLshort -- ^ @factor@.
   -> m ()
-glGlobalAlphaFactorsSUN v1 = liftIO $ dyn475 ptr_glGlobalAlphaFactorsSUN v1
+glGlobalAlphaFactorsSUN v1 = liftIO $ dyn476 ptr_glGlobalAlphaFactorsSUN v1
 
 {-# NOINLINE ptr_glGlobalAlphaFactorsSUN #-}
 ptr_glGlobalAlphaFactorsSUN :: FunPtr (GLshort -> IO ())
@@ -578,7 +623,7 @@
   :: MonadIO m
   => GLubyte -- ^ @factor@.
   -> m ()
-glGlobalAlphaFactorubSUN v1 = liftIO $ dyn476 ptr_glGlobalAlphaFactorubSUN v1
+glGlobalAlphaFactorubSUN v1 = liftIO $ dyn477 ptr_glGlobalAlphaFactorubSUN v1
 
 {-# NOINLINE ptr_glGlobalAlphaFactorubSUN #-}
 ptr_glGlobalAlphaFactorubSUN :: FunPtr (GLubyte -> IO ())
@@ -602,7 +647,7 @@
   :: MonadIO m
   => GLushort -- ^ @factor@.
   -> m ()
-glGlobalAlphaFactorusSUN v1 = liftIO $ dyn477 ptr_glGlobalAlphaFactorusSUN v1
+glGlobalAlphaFactorusSUN v1 = liftIO $ dyn478 ptr_glGlobalAlphaFactorusSUN v1
 
 {-# NOINLINE ptr_glGlobalAlphaFactorusSUN #-}
 ptr_glGlobalAlphaFactorusSUN :: FunPtr (GLushort -> IO ())
@@ -640,12 +685,12 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glHistogram.xml OpenGL 2.x>.
 glHistogram
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
   -> GLsizei -- ^ @width@.
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glHistogram v1 v2 v3 v4 = liftIO $ dyn478 ptr_glHistogram v1 v2 v3 v4
+glHistogram v1 v2 v3 v4 = liftIO $ dyn479 ptr_glHistogram v1 v2 v3 v4
 
 {-# NOINLINE ptr_glHistogram #-}
 ptr_glHistogram :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
@@ -661,7 +706,7 @@
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glHistogramEXT v1 v2 v3 v4 = liftIO $ dyn478 ptr_glHistogramEXT v1 v2 v3 v4
+glHistogramEXT v1 v2 v3 v4 = liftIO $ dyn479 ptr_glHistogramEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glHistogramEXT #-}
 ptr_glHistogramEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
@@ -674,7 +719,7 @@
   => GLenum -- ^ @pname@ of type @IglooFunctionSelectSGIX@.
   -> Ptr a -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @IglooParameterSGIX@.
   -> m ()
-glIglooInterfaceSGIX v1 v2 = liftIO $ dyn233 ptr_glIglooInterfaceSGIX v1 v2
+glIglooInterfaceSGIX v1 v2 = liftIO $ dyn234 ptr_glIglooInterfaceSGIX v1 v2
 
 {-# NOINLINE ptr_glIglooInterfaceSGIX #-}
 ptr_glIglooInterfaceSGIX :: FunPtr (GLenum -> Ptr a -> IO ())
@@ -745,7 +790,7 @@
   -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
   -> GLint -- ^ @fd@.
   -> m ()
-glImportMemoryFdEXT v1 v2 v3 v4 = liftIO $ dyn479 ptr_glImportMemoryFdEXT v1 v2 v3 v4
+glImportMemoryFdEXT v1 v2 v3 v4 = liftIO $ dyn480 ptr_glImportMemoryFdEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glImportMemoryFdEXT #-}
 ptr_glImportMemoryFdEXT :: FunPtr (GLuint -> GLuint64 -> GLenum -> GLint -> IO ())
@@ -760,7 +805,7 @@
   -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
   -> Ptr a -- ^ @handle@.
   -> m ()
-glImportMemoryWin32HandleEXT v1 v2 v3 v4 = liftIO $ dyn480 ptr_glImportMemoryWin32HandleEXT v1 v2 v3 v4
+glImportMemoryWin32HandleEXT v1 v2 v3 v4 = liftIO $ dyn481 ptr_glImportMemoryWin32HandleEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glImportMemoryWin32HandleEXT #-}
 ptr_glImportMemoryWin32HandleEXT :: FunPtr (GLuint -> GLuint64 -> GLenum -> Ptr a -> IO ())
@@ -775,7 +820,7 @@
   -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
   -> Ptr a -- ^ @name@.
   -> m ()
-glImportMemoryWin32NameEXT v1 v2 v3 v4 = liftIO $ dyn480 ptr_glImportMemoryWin32NameEXT v1 v2 v3 v4
+glImportMemoryWin32NameEXT v1 v2 v3 v4 = liftIO $ dyn481 ptr_glImportMemoryWin32NameEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glImportMemoryWin32NameEXT #-}
 ptr_glImportMemoryWin32NameEXT :: FunPtr (GLuint -> GLuint64 -> GLenum -> Ptr a -> IO ())
@@ -789,7 +834,7 @@
   -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
   -> GLint -- ^ @fd@.
   -> m ()
-glImportSemaphoreFdEXT v1 v2 v3 = liftIO $ dyn481 ptr_glImportSemaphoreFdEXT v1 v2 v3
+glImportSemaphoreFdEXT v1 v2 v3 = liftIO $ dyn482 ptr_glImportSemaphoreFdEXT v1 v2 v3
 
 {-# NOINLINE ptr_glImportSemaphoreFdEXT #-}
 ptr_glImportSemaphoreFdEXT :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -803,7 +848,7 @@
   -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
   -> Ptr a -- ^ @handle@.
   -> m ()
-glImportSemaphoreWin32HandleEXT v1 v2 v3 = liftIO $ dyn482 ptr_glImportSemaphoreWin32HandleEXT v1 v2 v3
+glImportSemaphoreWin32HandleEXT v1 v2 v3 = liftIO $ dyn483 ptr_glImportSemaphoreWin32HandleEXT v1 v2 v3
 
 {-# NOINLINE ptr_glImportSemaphoreWin32HandleEXT #-}
 ptr_glImportSemaphoreWin32HandleEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
@@ -817,7 +862,7 @@
   -> GLenum -- ^ @handleType@ of type [ExternalHandleType](Graphics-GL-Groups.html#ExternalHandleType).
   -> Ptr a -- ^ @name@.
   -> m ()
-glImportSemaphoreWin32NameEXT v1 v2 v3 = liftIO $ dyn482 ptr_glImportSemaphoreWin32NameEXT v1 v2 v3
+glImportSemaphoreWin32NameEXT v1 v2 v3 = liftIO $ dyn483 ptr_glImportSemaphoreWin32NameEXT v1 v2 v3
 
 {-# NOINLINE ptr_glImportSemaphoreWin32NameEXT #-}
 ptr_glImportSemaphoreWin32NameEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
@@ -831,7 +876,7 @@
   -> GLintptr -- ^ @external_sync@.
   -> GLbitfield -- ^ @flags@.
   -> m GLsync -- ^ of type @sync@.
-glImportSyncEXT v1 v2 v3 = liftIO $ dyn483 ptr_glImportSyncEXT v1 v2 v3
+glImportSyncEXT v1 v2 v3 = liftIO $ dyn484 ptr_glImportSyncEXT v1 v2 v3
 
 {-# NOINLINE ptr_glImportSyncEXT #-}
 ptr_glImportSyncEXT :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
@@ -844,7 +889,7 @@
   => GLenum -- ^ @type@.
   -> GLsizei -- ^ @stride@.
   -> m ()
-glIndexFormatNV v1 v2 = liftIO $ dyn242 ptr_glIndexFormatNV v1 v2
+glIndexFormatNV v1 v2 = liftIO $ dyn243 ptr_glIndexFormatNV v1 v2
 
 {-# NOINLINE ptr_glIndexFormatNV #-}
 ptr_glIndexFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
@@ -913,7 +958,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride,count)@ elements of type @a@.
   -> m ()
-glIndexPointerEXT v1 v2 v3 v4 = liftIO $ dyn484 ptr_glIndexPointerEXT v1 v2 v3 v4
+glIndexPointerEXT v1 v2 v3 v4 = liftIO $ dyn485 ptr_glIndexPointerEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glIndexPointerEXT #-}
 ptr_glIndexPointerEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
@@ -928,7 +973,7 @@
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
   -> GLint -- ^ @ptrstride@.
   -> m ()
-glIndexPointerListIBM v1 v2 v3 v4 = liftIO $ dyn284 ptr_glIndexPointerListIBM v1 v2 v3 v4
+glIndexPointerListIBM v1 v2 v3 v4 = liftIO $ dyn285 ptr_glIndexPointerListIBM v1 v2 v3 v4
 
 {-# NOINLINE ptr_glIndexPointerListIBM #-}
 ptr_glIndexPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
@@ -1019,7 +1064,7 @@
   :: MonadIO m
   => GLshort -- ^ @c@ of type @ColorIndexValueS@.
   -> m ()
-glIndexs v1 = liftIO $ dyn475 ptr_glIndexs v1
+glIndexs v1 = liftIO $ dyn476 ptr_glIndexs v1
 
 {-# NOINLINE ptr_glIndexs #-}
 ptr_glIndexs :: FunPtr (GLshort -> IO ())
@@ -1045,7 +1090,7 @@
   :: MonadIO m
   => GLubyte -- ^ @c@ of type @ColorIndexValueUB@.
   -> m ()
-glIndexub v1 = liftIO $ dyn476 ptr_glIndexub v1
+glIndexub v1 = liftIO $ dyn477 ptr_glIndexub v1
 
 {-# NOINLINE ptr_glIndexub #-}
 ptr_glIndexub :: FunPtr (GLubyte -> IO ())
@@ -1121,7 +1166,7 @@
   => GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @marker@.
   -> m ()
-glInsertEventMarkerEXT v1 v2 = liftIO $ dyn485 ptr_glInsertEventMarkerEXT v1 v2
+glInsertEventMarkerEXT v1 v2 = liftIO $ dyn486 ptr_glInsertEventMarkerEXT v1 v2
 
 {-# NOINLINE ptr_glInsertEventMarkerEXT #-}
 ptr_glInsertEventMarkerEXT :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
@@ -1134,7 +1179,7 @@
   => GLsizei -- ^ @size@.
   -> Ptr GLint -- ^ @buffer@ pointing to @size@ elements of type @GLint@.
   -> m ()
-glInstrumentsBufferSGIX v1 v2 = liftIO $ dyn486 ptr_glInstrumentsBufferSGIX v1 v2
+glInstrumentsBufferSGIX v1 v2 = liftIO $ dyn218 ptr_glInstrumentsBufferSGIX v1 v2
 
 {-# NOINLINE ptr_glInstrumentsBufferSGIX #-}
 ptr_glInstrumentsBufferSGIX :: FunPtr (GLsizei -> Ptr GLint -> IO ())
@@ -1192,7 +1237,7 @@
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
   -> m ()
-glInvalidateBufferSubData v1 v2 v3 = liftIO $ dyn283 ptr_glInvalidateBufferSubData v1 v2 v3
+glInvalidateBufferSubData v1 v2 v3 = liftIO $ dyn284 ptr_glInvalidateBufferSubData v1 v2 v3
 
 {-# NOINLINE ptr_glInvalidateBufferSubData #-}
 ptr_glInvalidateBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
@@ -1203,11 +1248,11 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateFramebuffer.xhtml OpenGL 4.x>.
 glInvalidateFramebuffer
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [FramebufferTarget](Graphics-GL-Groups.html#FramebufferTarget).
   -> GLsizei -- ^ @numAttachments@.
   -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
   -> m ()
-glInvalidateFramebuffer v1 v2 v3 = liftIO $ dyn229 ptr_glInvalidateFramebuffer v1 v2 v3
+glInvalidateFramebuffer v1 v2 v3 = liftIO $ dyn230 ptr_glInvalidateFramebuffer v1 v2 v3
 
 {-# NOINLINE ptr_glInvalidateFramebuffer #-}
 ptr_glInvalidateFramebuffer :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
@@ -1220,9 +1265,9 @@
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
   -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@.
+  -> Ptr GLenum -- ^ @attachments@ pointing to elements of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> m ()
-glInvalidateNamedFramebufferData v1 v2 v3 = liftIO $ dyn286 ptr_glInvalidateNamedFramebufferData v1 v2 v3
+glInvalidateNamedFramebufferData v1 v2 v3 = liftIO $ dyn287 ptr_glInvalidateNamedFramebufferData v1 v2 v3
 
 {-# NOINLINE ptr_glInvalidateNamedFramebufferData #-}
 ptr_glInvalidateNamedFramebufferData :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
@@ -1235,7 +1280,7 @@
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
   -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@.
+  -> Ptr GLenum -- ^ @attachments@ pointing to elements of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLint -- ^ @x@.
   -> GLint -- ^ @y@.
   -> GLsizei -- ^ @width@.
@@ -1254,7 +1299,7 @@
   :: MonadIO m
   => GLenum -- ^ @target@.
   -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLint -- ^ @x@.
   -> GLint -- ^ @y@.
   -> GLsizei -- ^ @width@.
@@ -1306,7 +1351,7 @@
   :: MonadIO m
   => GLuint -- ^ @marker@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsAsyncMarkerSGIX v1 = liftIO $ dyn277 ptr_glIsAsyncMarkerSGIX v1
+glIsAsyncMarkerSGIX v1 = liftIO $ dyn278 ptr_glIsAsyncMarkerSGIX v1
 
 {-# NOINLINE ptr_glIsAsyncMarkerSGIX #-}
 ptr_glIsAsyncMarkerSGIX :: FunPtr (GLuint -> IO GLboolean)
@@ -1319,7 +1364,7 @@
   :: MonadIO m
   => GLuint -- ^ @buffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsBuffer v1 = liftIO $ dyn277 ptr_glIsBuffer v1
+glIsBuffer v1 = liftIO $ dyn278 ptr_glIsBuffer v1
 
 {-# NOINLINE ptr_glIsBuffer #-}
 ptr_glIsBuffer :: FunPtr (GLuint -> IO GLboolean)
@@ -1332,7 +1377,7 @@
   :: MonadIO m
   => GLuint -- ^ @buffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsBufferARB v1 = liftIO $ dyn277 ptr_glIsBufferARB v1
+glIsBufferARB v1 = liftIO $ dyn278 ptr_glIsBufferARB v1
 
 {-# NOINLINE ptr_glIsBufferARB #-}
 ptr_glIsBufferARB :: FunPtr (GLuint -> IO GLboolean)
@@ -1356,7 +1401,7 @@
   :: MonadIO m
   => GLuint -- ^ @list@.
   -> m GLboolean
-glIsCommandListNV v1 = liftIO $ dyn277 ptr_glIsCommandListNV v1
+glIsCommandListNV v1 = liftIO $ dyn278 ptr_glIsCommandListNV v1
 
 {-# NOINLINE ptr_glIsCommandListNV #-}
 ptr_glIsCommandListNV :: FunPtr (GLuint -> IO GLboolean)
@@ -1380,7 +1425,7 @@
 -- | This command is an alias for 'glIsEnabledi'.
 glIsEnabledIndexedEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
 glIsEnabledIndexedEXT v1 v2 = liftIO $ dyn493 ptr_glIsEnabledIndexedEXT v1 v2
@@ -1394,7 +1439,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsEnabled.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsEnabled.xhtml OpenGL 4.x>.
 glIsEnabledi
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
 glIsEnabledi v1 v2 = liftIO $ dyn493 ptr_glIsEnabledi v1 v2
@@ -1408,7 +1453,7 @@
 -- | This command is an alias for 'glIsEnabledi'.
 glIsEnablediEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
 glIsEnablediEXT v1 v2 = liftIO $ dyn493 ptr_glIsEnablediEXT v1 v2
@@ -1422,7 +1467,7 @@
 -- | This command is an alias for 'glIsEnabledi'.
 glIsEnablediNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
 glIsEnablediNV v1 v2 = liftIO $ dyn493 ptr_glIsEnablediNV v1 v2
@@ -1436,7 +1481,7 @@
 -- | This command is an alias for 'glIsEnabledi'.
 glIsEnablediOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
   -> GLuint -- ^ @index@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
 glIsEnablediOES v1 v2 = liftIO $ dyn493 ptr_glIsEnablediOES v1 v2
@@ -1451,7 +1496,7 @@
   :: MonadIO m
   => GLuint -- ^ @fence@ of type @FenceNV@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsFenceAPPLE v1 = liftIO $ dyn277 ptr_glIsFenceAPPLE v1
+glIsFenceAPPLE v1 = liftIO $ dyn278 ptr_glIsFenceAPPLE v1
 
 {-# NOINLINE ptr_glIsFenceAPPLE #-}
 ptr_glIsFenceAPPLE :: FunPtr (GLuint -> IO GLboolean)
@@ -1463,7 +1508,7 @@
   :: MonadIO m
   => GLuint -- ^ @fence@ of type @FenceNV@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsFenceNV v1 = liftIO $ dyn277 ptr_glIsFenceNV v1
+glIsFenceNV v1 = liftIO $ dyn278 ptr_glIsFenceNV v1
 
 {-# NOINLINE ptr_glIsFenceNV #-}
 ptr_glIsFenceNV :: FunPtr (GLuint -> IO GLboolean)
@@ -1476,7 +1521,7 @@
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsFramebuffer v1 = liftIO $ dyn277 ptr_glIsFramebuffer v1
+glIsFramebuffer v1 = liftIO $ dyn278 ptr_glIsFramebuffer v1
 
 {-# NOINLINE ptr_glIsFramebuffer #-}
 ptr_glIsFramebuffer :: FunPtr (GLuint -> IO GLboolean)
@@ -1489,45 +1534,9 @@
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsFramebufferEXT v1 = liftIO $ dyn277 ptr_glIsFramebufferEXT v1
+glIsFramebufferEXT v1 = liftIO $ dyn278 ptr_glIsFramebufferEXT v1
 
 {-# NOINLINE ptr_glIsFramebufferEXT #-}
 ptr_glIsFramebufferEXT :: FunPtr (GLuint -> IO GLboolean)
 ptr_glIsFramebufferEXT = unsafePerformIO $ getCommand "glIsFramebufferEXT"
-
--- glIsFramebufferOES ----------------------------------------------------------
-
-glIsFramebufferOES
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> m GLboolean
-glIsFramebufferOES v1 = liftIO $ dyn277 ptr_glIsFramebufferOES v1
-
-{-# NOINLINE ptr_glIsFramebufferOES #-}
-ptr_glIsFramebufferOES :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsFramebufferOES = unsafePerformIO $ getCommand "glIsFramebufferOES"
-
--- glIsImageHandleResidentARB --------------------------------------------------
-
-glIsImageHandleResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m GLboolean
-glIsImageHandleResidentARB v1 = liftIO $ dyn494 ptr_glIsImageHandleResidentARB v1
-
-{-# NOINLINE ptr_glIsImageHandleResidentARB #-}
-ptr_glIsImageHandleResidentARB :: FunPtr (GLuint64 -> IO GLboolean)
-ptr_glIsImageHandleResidentARB = unsafePerformIO $ getCommand "glIsImageHandleResidentARB"
-
--- glIsImageHandleResidentNV ---------------------------------------------------
-
-glIsImageHandleResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsImageHandleResidentNV v1 = liftIO $ dyn494 ptr_glIsImageHandleResidentNV v1
-
-{-# NOINLINE ptr_glIsImageHandleResidentNV #-}
-ptr_glIsImageHandleResidentNV :: FunPtr (GLuint64 -> IO GLboolean)
-ptr_glIsImageHandleResidentNV = unsafePerformIO $ getCommand "glIsImageHandleResidentNV"
 
diff --git a/src/Graphics/GL/Functions/F15.hs b/src/Graphics/GL/Functions/F15.hs
--- a/src/Graphics/GL/Functions/F15.hs
+++ b/src/Graphics/GL/Functions/F15.hs
@@ -15,6 +15,9 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F15 (
+  glIsFramebufferOES,
+  glIsImageHandleResidentARB,
+  glIsImageHandleResidentNV,
   glIsList,
   glIsMemoryObjectEXT,
   glIsNameAMD,
@@ -111,10 +114,7 @@
   glMakeNamedBufferNonResidentNV,
   glMakeNamedBufferResidentNV,
   glMakeTextureHandleNonResidentARB,
-  glMakeTextureHandleNonResidentNV,
-  glMakeTextureHandleResidentARB,
-  glMakeTextureHandleResidentNV,
-  glMap1d
+  glMakeTextureHandleNonResidentNV
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,42 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glIsFramebufferOES ----------------------------------------------------------
+
+glIsFramebufferOES
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> m GLboolean
+glIsFramebufferOES v1 = liftIO $ dyn278 ptr_glIsFramebufferOES v1
+
+{-# NOINLINE ptr_glIsFramebufferOES #-}
+ptr_glIsFramebufferOES :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsFramebufferOES = unsafePerformIO $ getCommand "glIsFramebufferOES"
+
+-- glIsImageHandleResidentARB --------------------------------------------------
+
+glIsImageHandleResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m GLboolean
+glIsImageHandleResidentARB v1 = liftIO $ dyn494 ptr_glIsImageHandleResidentARB v1
+
+{-# NOINLINE ptr_glIsImageHandleResidentARB #-}
+ptr_glIsImageHandleResidentARB :: FunPtr (GLuint64 -> IO GLboolean)
+ptr_glIsImageHandleResidentARB = unsafePerformIO $ getCommand "glIsImageHandleResidentARB"
+
+-- glIsImageHandleResidentNV ---------------------------------------------------
+
+glIsImageHandleResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsImageHandleResidentNV v1 = liftIO $ dyn494 ptr_glIsImageHandleResidentNV v1
+
+{-# NOINLINE ptr_glIsImageHandleResidentNV #-}
+ptr_glIsImageHandleResidentNV :: FunPtr (GLuint64 -> IO GLboolean)
+ptr_glIsImageHandleResidentNV = unsafePerformIO $ getCommand "glIsImageHandleResidentNV"
+
 -- glIsList --------------------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsList.xml OpenGL 2.x>.
@@ -130,7 +166,7 @@
   :: MonadIO m
   => GLuint -- ^ @list@ of type @List@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsList v1 = liftIO $ dyn277 ptr_glIsList v1
+glIsList v1 = liftIO $ dyn278 ptr_glIsList v1
 
 {-# NOINLINE ptr_glIsList #-}
 ptr_glIsList :: FunPtr (GLuint -> IO GLboolean)
@@ -142,7 +178,7 @@
   :: MonadIO m
   => GLuint -- ^ @memoryObject@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsMemoryObjectEXT v1 = liftIO $ dyn277 ptr_glIsMemoryObjectEXT v1
+glIsMemoryObjectEXT v1 = liftIO $ dyn278 ptr_glIsMemoryObjectEXT v1
 
 {-# NOINLINE ptr_glIsMemoryObjectEXT #-}
 ptr_glIsMemoryObjectEXT :: FunPtr (GLuint -> IO GLboolean)
@@ -167,7 +203,7 @@
   :: MonadIO m
   => GLuint -- ^ @buffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsNamedBufferResidentNV v1 = liftIO $ dyn277 ptr_glIsNamedBufferResidentNV v1
+glIsNamedBufferResidentNV v1 = liftIO $ dyn278 ptr_glIsNamedBufferResidentNV v1
 
 {-# NOINLINE ptr_glIsNamedBufferResidentNV #-}
 ptr_glIsNamedBufferResidentNV :: FunPtr (GLuint -> IO GLboolean)
@@ -192,7 +228,7 @@
   :: MonadIO m
   => GLuint -- ^ @buffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsObjectBufferATI v1 = liftIO $ dyn277 ptr_glIsObjectBufferATI v1
+glIsObjectBufferATI v1 = liftIO $ dyn278 ptr_glIsObjectBufferATI v1
 
 {-# NOINLINE ptr_glIsObjectBufferATI #-}
 ptr_glIsObjectBufferATI :: FunPtr (GLuint -> IO GLboolean)
@@ -204,7 +240,7 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsOcclusionQueryNV v1 = liftIO $ dyn277 ptr_glIsOcclusionQueryNV v1
+glIsOcclusionQueryNV v1 = liftIO $ dyn278 ptr_glIsOcclusionQueryNV v1
 
 {-# NOINLINE ptr_glIsOcclusionQueryNV #-}
 ptr_glIsOcclusionQueryNV :: FunPtr (GLuint -> IO GLboolean)
@@ -216,7 +252,7 @@
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsPathNV v1 = liftIO $ dyn277 ptr_glIsPathNV v1
+glIsPathNV v1 = liftIO $ dyn278 ptr_glIsPathNV v1
 
 {-# NOINLINE ptr_glIsPathNV #-}
 ptr_glIsPathNV :: FunPtr (GLuint -> IO GLboolean)
@@ -258,7 +294,7 @@
   :: MonadIO m
   => GLuint -- ^ @program@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsProgram v1 = liftIO $ dyn277 ptr_glIsProgram v1
+glIsProgram v1 = liftIO $ dyn278 ptr_glIsProgram v1
 
 {-# NOINLINE ptr_glIsProgram #-}
 ptr_glIsProgram :: FunPtr (GLuint -> IO GLboolean)
@@ -270,7 +306,7 @@
   :: MonadIO m
   => GLuint -- ^ @program@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsProgramARB v1 = liftIO $ dyn277 ptr_glIsProgramARB v1
+glIsProgramARB v1 = liftIO $ dyn278 ptr_glIsProgramARB v1
 
 {-# NOINLINE ptr_glIsProgramARB #-}
 ptr_glIsProgramARB :: FunPtr (GLuint -> IO GLboolean)
@@ -283,7 +319,7 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsProgramNV v1 = liftIO $ dyn277 ptr_glIsProgramNV v1
+glIsProgramNV v1 = liftIO $ dyn278 ptr_glIsProgramNV v1
 
 {-# NOINLINE ptr_glIsProgramNV #-}
 ptr_glIsProgramNV :: FunPtr (GLuint -> IO GLboolean)
@@ -296,7 +332,7 @@
   :: MonadIO m
   => GLuint -- ^ @pipeline@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsProgramPipeline v1 = liftIO $ dyn277 ptr_glIsProgramPipeline v1
+glIsProgramPipeline v1 = liftIO $ dyn278 ptr_glIsProgramPipeline v1
 
 {-# NOINLINE ptr_glIsProgramPipeline #-}
 ptr_glIsProgramPipeline :: FunPtr (GLuint -> IO GLboolean)
@@ -308,7 +344,7 @@
   :: MonadIO m
   => GLuint -- ^ @pipeline@.
   -> m GLboolean
-glIsProgramPipelineEXT v1 = liftIO $ dyn277 ptr_glIsProgramPipelineEXT v1
+glIsProgramPipelineEXT v1 = liftIO $ dyn278 ptr_glIsProgramPipelineEXT v1
 
 {-# NOINLINE ptr_glIsProgramPipelineEXT #-}
 ptr_glIsProgramPipelineEXT :: FunPtr (GLuint -> IO GLboolean)
@@ -321,7 +357,7 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsQuery v1 = liftIO $ dyn277 ptr_glIsQuery v1
+glIsQuery v1 = liftIO $ dyn278 ptr_glIsQuery v1
 
 {-# NOINLINE ptr_glIsQuery #-}
 ptr_glIsQuery :: FunPtr (GLuint -> IO GLboolean)
@@ -334,7 +370,7 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsQueryARB v1 = liftIO $ dyn277 ptr_glIsQueryARB v1
+glIsQueryARB v1 = liftIO $ dyn278 ptr_glIsQueryARB v1
 
 {-# NOINLINE ptr_glIsQueryARB #-}
 ptr_glIsQueryARB :: FunPtr (GLuint -> IO GLboolean)
@@ -346,7 +382,7 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> m GLboolean
-glIsQueryEXT v1 = liftIO $ dyn277 ptr_glIsQueryEXT v1
+glIsQueryEXT v1 = liftIO $ dyn278 ptr_glIsQueryEXT v1
 
 {-# NOINLINE ptr_glIsQueryEXT #-}
 ptr_glIsQueryEXT :: FunPtr (GLuint -> IO GLboolean)
@@ -359,7 +395,7 @@
   :: MonadIO m
   => GLuint -- ^ @renderbuffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsRenderbuffer v1 = liftIO $ dyn277 ptr_glIsRenderbuffer v1
+glIsRenderbuffer v1 = liftIO $ dyn278 ptr_glIsRenderbuffer v1
 
 {-# NOINLINE ptr_glIsRenderbuffer #-}
 ptr_glIsRenderbuffer :: FunPtr (GLuint -> IO GLboolean)
@@ -372,7 +408,7 @@
   :: MonadIO m
   => GLuint -- ^ @renderbuffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsRenderbufferEXT v1 = liftIO $ dyn277 ptr_glIsRenderbufferEXT v1
+glIsRenderbufferEXT v1 = liftIO $ dyn278 ptr_glIsRenderbufferEXT v1
 
 {-# NOINLINE ptr_glIsRenderbufferEXT #-}
 ptr_glIsRenderbufferEXT :: FunPtr (GLuint -> IO GLboolean)
@@ -384,7 +420,7 @@
   :: MonadIO m
   => GLuint -- ^ @renderbuffer@.
   -> m GLboolean
-glIsRenderbufferOES v1 = liftIO $ dyn277 ptr_glIsRenderbufferOES v1
+glIsRenderbufferOES v1 = liftIO $ dyn278 ptr_glIsRenderbufferOES v1
 
 {-# NOINLINE ptr_glIsRenderbufferOES #-}
 ptr_glIsRenderbufferOES :: FunPtr (GLuint -> IO GLboolean)
@@ -397,7 +433,7 @@
   :: MonadIO m
   => GLuint -- ^ @sampler@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsSampler v1 = liftIO $ dyn277 ptr_glIsSampler v1
+glIsSampler v1 = liftIO $ dyn278 ptr_glIsSampler v1
 
 {-# NOINLINE ptr_glIsSampler #-}
 ptr_glIsSampler :: FunPtr (GLuint -> IO GLboolean)
@@ -409,7 +445,7 @@
   :: MonadIO m
   => GLuint -- ^ @semaphore@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsSemaphoreEXT v1 = liftIO $ dyn277 ptr_glIsSemaphoreEXT v1
+glIsSemaphoreEXT v1 = liftIO $ dyn278 ptr_glIsSemaphoreEXT v1
 
 {-# NOINLINE ptr_glIsSemaphoreEXT #-}
 ptr_glIsSemaphoreEXT :: FunPtr (GLuint -> IO GLboolean)
@@ -422,7 +458,7 @@
   :: MonadIO m
   => GLuint -- ^ @shader@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsShader v1 = liftIO $ dyn277 ptr_glIsShader v1
+glIsShader v1 = liftIO $ dyn278 ptr_glIsShader v1
 
 {-# NOINLINE ptr_glIsShader #-}
 ptr_glIsShader :: FunPtr (GLuint -> IO GLboolean)
@@ -434,7 +470,7 @@
   :: MonadIO m
   => GLuint -- ^ @state@.
   -> m GLboolean
-glIsStateNV v1 = liftIO $ dyn277 ptr_glIsStateNV v1
+glIsStateNV v1 = liftIO $ dyn278 ptr_glIsStateNV v1
 
 {-# NOINLINE ptr_glIsStateNV #-}
 ptr_glIsStateNV :: FunPtr (GLuint -> IO GLboolean)
@@ -473,7 +509,7 @@
   :: MonadIO m
   => GLuint -- ^ @texture@ of type @Texture@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsTexture v1 = liftIO $ dyn277 ptr_glIsTexture v1
+glIsTexture v1 = liftIO $ dyn278 ptr_glIsTexture v1
 
 {-# NOINLINE ptr_glIsTexture #-}
 ptr_glIsTexture :: FunPtr (GLuint -> IO GLboolean)
@@ -485,7 +521,7 @@
   :: MonadIO m
   => GLuint -- ^ @texture@ of type @Texture@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsTextureEXT v1 = liftIO $ dyn277 ptr_glIsTextureEXT v1
+glIsTextureEXT v1 = liftIO $ dyn278 ptr_glIsTextureEXT v1
 
 {-# NOINLINE ptr_glIsTextureEXT #-}
 ptr_glIsTextureEXT :: FunPtr (GLuint -> IO GLboolean)
@@ -522,7 +558,7 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsTransformFeedback v1 = liftIO $ dyn277 ptr_glIsTransformFeedback v1
+glIsTransformFeedback v1 = liftIO $ dyn278 ptr_glIsTransformFeedback v1
 
 {-# NOINLINE ptr_glIsTransformFeedback #-}
 ptr_glIsTransformFeedback :: FunPtr (GLuint -> IO GLboolean)
@@ -535,7 +571,7 @@
   :: MonadIO m
   => GLuint -- ^ @id@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsTransformFeedbackNV v1 = liftIO $ dyn277 ptr_glIsTransformFeedbackNV v1
+glIsTransformFeedbackNV v1 = liftIO $ dyn278 ptr_glIsTransformFeedbackNV v1
 
 {-# NOINLINE ptr_glIsTransformFeedbackNV #-}
 ptr_glIsTransformFeedbackNV :: FunPtr (GLuint -> IO GLboolean)
@@ -561,7 +597,7 @@
   :: MonadIO m
   => GLuint -- ^ @array@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsVertexArray v1 = liftIO $ dyn277 ptr_glIsVertexArray v1
+glIsVertexArray v1 = liftIO $ dyn278 ptr_glIsVertexArray v1
 
 {-# NOINLINE ptr_glIsVertexArray #-}
 ptr_glIsVertexArray :: FunPtr (GLuint -> IO GLboolean)
@@ -574,7 +610,7 @@
   :: MonadIO m
   => GLuint -- ^ @array@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glIsVertexArrayAPPLE v1 = liftIO $ dyn277 ptr_glIsVertexArrayAPPLE v1
+glIsVertexArrayAPPLE v1 = liftIO $ dyn278 ptr_glIsVertexArrayAPPLE v1
 
 {-# NOINLINE ptr_glIsVertexArrayAPPLE #-}
 ptr_glIsVertexArrayAPPLE :: FunPtr (GLuint -> IO GLboolean)
@@ -587,7 +623,7 @@
   :: MonadIO m
   => GLuint -- ^ @array@.
   -> m GLboolean
-glIsVertexArrayOES v1 = liftIO $ dyn277 ptr_glIsVertexArrayOES v1
+glIsVertexArrayOES v1 = liftIO $ dyn278 ptr_glIsVertexArrayOES v1
 
 {-# NOINLINE ptr_glIsVertexArrayOES #-}
 ptr_glIsVertexArrayOES :: FunPtr (GLuint -> IO GLboolean)
@@ -749,7 +785,7 @@
 
 glLightModelx
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glLightModelx v1 v2 = liftIO $ dyn1 ptr_glLightModelx v1 v2
@@ -762,7 +798,7 @@
 
 glLightModelxOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glLightModelxOES v1 v2 = liftIO $ dyn1 ptr_glLightModelxOES v1 v2
@@ -775,7 +811,7 @@
 
 glLightModelxv
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
   -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glLightModelxv v1 v2 = liftIO $ dyn98 ptr_glLightModelxv v1 v2
@@ -788,7 +824,7 @@
 
 glLightModelxvOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
   -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glLightModelxvOES v1 v2 = liftIO $ dyn98 ptr_glLightModelxvOES v1 v2
@@ -861,8 +897,8 @@
 
 glLightx
   :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glLightx v1 v2 v3 = liftIO $ dyn165 ptr_glLightx v1 v2 v3
@@ -875,8 +911,8 @@
 
 glLightxOES
   :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glLightxOES v1 v2 v3 = liftIO $ dyn165 ptr_glLightxOES v1 v2 v3
@@ -889,8 +925,8 @@
 
 glLightxv
   :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glLightxv v1 v2 v3 = liftIO $ dyn166 ptr_glLightxv v1 v2 v3
@@ -903,8 +939,8 @@
 
 glLightxvOES
   :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glLightxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glLightxvOES v1 v2 v3
@@ -1043,7 +1079,7 @@
   -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
-glListParameterfvSGIX v1 v2 v3 = liftIO $ dyn357 ptr_glListParameterfvSGIX v1 v2 v3
+glListParameterfvSGIX v1 v2 v3 = liftIO $ dyn358 ptr_glListParameterfvSGIX v1 v2 v3
 
 {-# NOINLINE ptr_glListParameterfvSGIX #-}
 ptr_glListParameterfvSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1057,7 +1093,7 @@
   -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
   -> GLint -- ^ @param@ of type @CheckedInt32@.
   -> m ()
-glListParameteriSGIX v1 v2 v3 = liftIO $ dyn481 ptr_glListParameteriSGIX v1 v2 v3
+glListParameteriSGIX v1 v2 v3 = liftIO $ dyn482 ptr_glListParameteriSGIX v1 v2 v3
 
 {-# NOINLINE ptr_glListParameteriSGIX #-}
 ptr_glListParameteriSGIX :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1071,7 +1107,7 @@
   -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glListParameterivSGIX v1 v2 v3 = liftIO $ dyn341 ptr_glListParameterivSGIX v1 v2 v3
+glListParameterivSGIX v1 v2 v3 = liftIO $ dyn342 ptr_glListParameterivSGIX v1 v2 v3
 
 {-# NOINLINE ptr_glListParameterivSGIX #-}
 ptr_glListParameterivSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1403,46 +1439,4 @@
 {-# NOINLINE ptr_glMakeTextureHandleNonResidentNV #-}
 ptr_glMakeTextureHandleNonResidentNV :: FunPtr (GLuint64 -> IO ())
 ptr_glMakeTextureHandleNonResidentNV = unsafePerformIO $ getCommand "glMakeTextureHandleNonResidentNV"
-
--- glMakeTextureHandleResidentARB ----------------------------------------------
-
-glMakeTextureHandleResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeTextureHandleResidentARB v1 = liftIO $ dyn508 ptr_glMakeTextureHandleResidentARB v1
-
-{-# NOINLINE ptr_glMakeTextureHandleResidentARB #-}
-ptr_glMakeTextureHandleResidentARB :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeTextureHandleResidentARB = unsafePerformIO $ getCommand "glMakeTextureHandleResidentARB"
-
--- glMakeTextureHandleResidentNV -----------------------------------------------
-
-glMakeTextureHandleResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeTextureHandleResidentNV v1 = liftIO $ dyn508 ptr_glMakeTextureHandleResidentNV v1
-
-{-# NOINLINE ptr_glMakeTextureHandleResidentNV #-}
-ptr_glMakeTextureHandleResidentNV :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeTextureHandleResidentNV = unsafePerformIO $ getCommand "glMakeTextureHandleResidentNV"
-
--- glMap1d ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
-glMap1d
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> GLint -- ^ @stride@.
-  -> GLint -- ^ @order@ of type @CheckedInt32@.
-  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordD@.
-  -> m ()
-glMap1d v1 v2 v3 v4 v5 v6 = liftIO $ dyn510 ptr_glMap1d v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMap1d #-}
-ptr_glMap1d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-ptr_glMap1d = unsafePerformIO $ getCommand "glMap1d"
 
diff --git a/src/Graphics/GL/Functions/F16.hs b/src/Graphics/GL/Functions/F16.hs
--- a/src/Graphics/GL/Functions/F16.hs
+++ b/src/Graphics/GL/Functions/F16.hs
@@ -15,6 +15,9 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F16 (
+  glMakeTextureHandleResidentARB,
+  glMakeTextureHandleResidentNV,
+  glMap1d,
   glMap1f,
   glMap1xOES,
   glMap2d,
@@ -84,6 +87,7 @@
   glMatrixTranslatedEXT,
   glMatrixTranslatefEXT,
   glMaxShaderCompilerThreadsARB,
+  glMaxShaderCompilerThreadsKHR,
   glMemoryBarrier,
   glMemoryBarrierByRegion,
   glMemoryBarrierEXT,
@@ -108,13 +112,9 @@
   glMultiDrawArraysIndirectAMD,
   glMultiDrawArraysIndirectBindlessCountNV,
   glMultiDrawArraysIndirectBindlessNV,
+  glMultiDrawArraysIndirectCount,
   glMultiDrawArraysIndirectCountARB,
-  glMultiDrawArraysIndirectEXT,
-  glMultiDrawElementArrayAPPLE,
-  glMultiDrawElements,
-  glMultiDrawElementsBaseVertex,
-  glMultiDrawElementsBaseVertexEXT,
-  glMultiDrawElementsBaseVertexOES
+  glMultiDrawArraysIndirectEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,48 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glMakeTextureHandleResidentARB ----------------------------------------------
+
+glMakeTextureHandleResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeTextureHandleResidentARB v1 = liftIO $ dyn508 ptr_glMakeTextureHandleResidentARB v1
+
+{-# NOINLINE ptr_glMakeTextureHandleResidentARB #-}
+ptr_glMakeTextureHandleResidentARB :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeTextureHandleResidentARB = unsafePerformIO $ getCommand "glMakeTextureHandleResidentARB"
+
+-- glMakeTextureHandleResidentNV -----------------------------------------------
+
+glMakeTextureHandleResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeTextureHandleResidentNV v1 = liftIO $ dyn508 ptr_glMakeTextureHandleResidentNV v1
+
+{-# NOINLINE ptr_glMakeTextureHandleResidentNV #-}
+ptr_glMakeTextureHandleResidentNV :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeTextureHandleResidentNV = unsafePerformIO $ getCommand "glMakeTextureHandleResidentNV"
+
+-- glMap1d ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
+glMap1d
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> GLint -- ^ @stride@.
+  -> GLint -- ^ @order@ of type @CheckedInt32@.
+  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordD@.
+  -> m ()
+glMap1d v1 v2 v3 v4 v5 v6 = liftIO $ dyn510 ptr_glMap1d v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMap1d #-}
+ptr_glMap1d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+ptr_glMap1d = unsafePerformIO $ getCommand "glMap1d"
+
 -- glMap1f ---------------------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
@@ -145,7 +187,7 @@
 
 glMap1xOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
   -> GLfixed -- ^ @u1@.
   -> GLfixed -- ^ @u2@.
   -> GLint -- ^ @stride@.
@@ -206,7 +248,7 @@
 
 glMap2xOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
   -> GLfixed -- ^ @u1@.
   -> GLfixed -- ^ @u2@.
   -> GLint -- ^ @ustride@.
@@ -256,8 +298,8 @@
 -- | This command is an alias for 'glMapBuffer'.
 glMapBufferOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @access@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
+  -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
   -> m (Ptr a)
 glMapBufferOES v1 v2 = liftIO $ dyn516 ptr_glMapBufferOES v1 v2
 
@@ -273,7 +315,7 @@
   => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> GLbitfield -- ^ @access@ of type @BufferAccessMask@.
+  -> GLbitfield -- ^ @access@ of type [BufferAccessMask](Graphics-GL-Groups.html#BufferAccessMask).
   -> m (Ptr a)
 glMapBufferRange v1 v2 v3 v4 = liftIO $ dyn517 ptr_glMapBufferRange v1 v2 v3 v4
 
@@ -286,10 +328,10 @@
 -- | This command is an alias for 'glMapBufferRange'.
 glMapBufferRangeEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [BufferTargetARB](Graphics-GL-Groups.html#BufferTargetARB).
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @length@.
-  -> GLbitfield -- ^ @access@.
+  -> GLbitfield -- ^ @access@ of type [BufferAccessMask](Graphics-GL-Groups.html#BufferAccessMask).
   -> m (Ptr a)
 glMapBufferRangeEXT v1 v2 v3 v4 = liftIO $ dyn517 ptr_glMapBufferRangeEXT v1 v2 v3 v4
 
@@ -419,7 +461,7 @@
 glMapNamedBuffer
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @access@.
+  -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
   -> m (Ptr a)
 glMapNamedBuffer v1 v2 = liftIO $ dyn525 ptr_glMapNamedBuffer v1 v2
 
@@ -432,7 +474,7 @@
 glMapNamedBufferEXT
   :: MonadIO m
   => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @access@ of type @VertexBufferObjectAccess@.
+  -> GLenum -- ^ @access@ of type [BufferAccessARB](Graphics-GL-Groups.html#BufferAccessARB).
   -> m (Ptr a)
 glMapNamedBufferEXT v1 v2 = liftIO $ dyn525 ptr_glMapNamedBufferEXT v1 v2
 
@@ -448,7 +490,7 @@
   => GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> GLbitfield -- ^ @access@.
+  -> GLbitfield -- ^ @access@ of type [BufferAccessMask](Graphics-GL-Groups.html#BufferAccessMask).
   -> m (Ptr a)
 glMapNamedBufferRange v1 v2 v3 v4 = liftIO $ dyn526 ptr_glMapNamedBufferRange v1 v2 v3 v4
 
@@ -463,7 +505,7 @@
   => GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @length@.
-  -> GLbitfield -- ^ @access@ of type @BufferAccessMask@.
+  -> GLbitfield -- ^ @access@ of type [BufferAccessMask](Graphics-GL-Groups.html#BufferAccessMask).
   -> m (Ptr a)
 glMapNamedBufferRangeEXT v1 v2 v3 v4 = liftIO $ dyn526 ptr_glMapNamedBufferRangeEXT v1 v2 v3 v4
 
@@ -671,8 +713,8 @@
 
 glMaterialx
   :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glMaterialx v1 v2 v3 = liftIO $ dyn165 ptr_glMaterialx v1 v2 v3
@@ -685,8 +727,8 @@
 
 glMaterialxOES
   :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glMaterialxOES v1 v2 v3 = liftIO $ dyn165 ptr_glMaterialxOES v1 v2 v3
@@ -699,8 +741,8 @@
 
 glMaterialxv
   :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
   -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glMaterialxv v1 v2 v3 = liftIO $ dyn166 ptr_glMaterialxv v1 v2 v3
@@ -713,8 +755,8 @@
 
 glMaterialxvOES
   :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
   -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glMaterialxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glMaterialxvOES v1 v2 v3
@@ -761,7 +803,7 @@
 glMatrixIndexPointerOES
   :: MonadIO m
   => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type @MatrixIndexPointerTypeARB@.
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
   -> m ()
@@ -1153,6 +1195,7 @@
 
 -- glMaxShaderCompilerThreadsARB -----------------------------------------------
 
+-- | This command is an alias for 'glMaxShaderCompilerThreadsKHR'.
 glMaxShaderCompilerThreadsARB
   :: MonadIO m
   => GLuint -- ^ @count@.
@@ -1163,12 +1206,24 @@
 ptr_glMaxShaderCompilerThreadsARB :: FunPtr (GLuint -> IO ())
 ptr_glMaxShaderCompilerThreadsARB = unsafePerformIO $ getCommand "glMaxShaderCompilerThreadsARB"
 
+-- glMaxShaderCompilerThreadsKHR -----------------------------------------------
+
+glMaxShaderCompilerThreadsKHR
+  :: MonadIO m
+  => GLuint -- ^ @count@.
+  -> m ()
+glMaxShaderCompilerThreadsKHR v1 = liftIO $ dyn3 ptr_glMaxShaderCompilerThreadsKHR v1
+
+{-# NOINLINE ptr_glMaxShaderCompilerThreadsKHR #-}
+ptr_glMaxShaderCompilerThreadsKHR :: FunPtr (GLuint -> IO ())
+ptr_glMaxShaderCompilerThreadsKHR = unsafePerformIO $ getCommand "glMaxShaderCompilerThreadsKHR"
+
 -- glMemoryBarrier -------------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
 glMemoryBarrier
   :: MonadIO m
-  => GLbitfield -- ^ @barriers@.
+  => GLbitfield -- ^ @barriers@ of type [MemoryBarrierMask](Graphics-GL-Groups.html#MemoryBarrierMask).
   -> m ()
 glMemoryBarrier v1 = liftIO $ dyn72 ptr_glMemoryBarrier v1
 
@@ -1181,7 +1236,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
 glMemoryBarrierByRegion
   :: MonadIO m
-  => GLbitfield -- ^ @barriers@.
+  => GLbitfield -- ^ @barriers@ of type [MemoryBarrierMask](Graphics-GL-Groups.html#MemoryBarrierMask).
   -> m ()
 glMemoryBarrierByRegion v1 = liftIO $ dyn72 ptr_glMemoryBarrierByRegion v1
 
@@ -1194,7 +1249,7 @@
 -- | This command is an alias for 'glMemoryBarrier'.
 glMemoryBarrierEXT
   :: MonadIO m
-  => GLbitfield -- ^ @barriers@.
+  => GLbitfield -- ^ @barriers@ of type [MemoryBarrierMask](Graphics-GL-Groups.html#MemoryBarrierMask).
   -> m ()
 glMemoryBarrierEXT v1 = liftIO $ dyn72 ptr_glMemoryBarrierEXT v1
 
@@ -1210,7 +1265,7 @@
   -> GLenum -- ^ @pname@ of type [MemoryObjectParameterName](Graphics-GL-Groups.html#MemoryObjectParameterName).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glMemoryObjectParameterivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glMemoryObjectParameterivEXT v1 v2 v3
+glMemoryObjectParameterivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glMemoryObjectParameterivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glMemoryObjectParameterivEXT #-}
 ptr_glMemoryObjectParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1260,7 +1315,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMinmax.xml OpenGL 2.x>.
 glMinmax
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
@@ -1496,12 +1551,29 @@
 ptr_glMultiDrawArraysIndirectBindlessNV :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
 ptr_glMultiDrawArraysIndirectBindlessNV = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectBindlessNV"
 
+-- glMultiDrawArraysIndirectCount ----------------------------------------------
+
+glMultiDrawArraysIndirectCount
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr a -- ^ @indirect@.
+  -> GLintptr -- ^ @drawcount@.
+  -> GLsizei -- ^ @maxdrawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawArraysIndirectCount v1 v2 v3 v4 v5 = liftIO $ dyn546 ptr_glMultiDrawArraysIndirectCount v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawArraysIndirectCount #-}
+ptr_glMultiDrawArraysIndirectCount :: FunPtr (GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArraysIndirectCount = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectCount"
+
 -- glMultiDrawArraysIndirectCountARB -------------------------------------------
 
+-- | This command is an alias for 'glMultiDrawArraysIndirectCount'.
 glMultiDrawArraysIndirectCountARB
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLintptr -- ^ @indirect@.
+  -> Ptr a -- ^ @indirect@.
   -> GLintptr -- ^ @drawcount@.
   -> GLsizei -- ^ @maxdrawcount@.
   -> GLsizei -- ^ @stride@.
@@ -1509,7 +1581,7 @@
 glMultiDrawArraysIndirectCountARB v1 v2 v3 v4 v5 = liftIO $ dyn546 ptr_glMultiDrawArraysIndirectCountARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glMultiDrawArraysIndirectCountARB #-}
-ptr_glMultiDrawArraysIndirectCountARB :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArraysIndirectCountARB :: FunPtr (GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ())
 ptr_glMultiDrawArraysIndirectCountARB = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectCountARB"
 
 -- glMultiDrawArraysIndirectEXT ------------------------------------------------
@@ -1527,90 +1599,4 @@
 {-# NOINLINE ptr_glMultiDrawArraysIndirectEXT #-}
 ptr_glMultiDrawArraysIndirectEXT :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
 ptr_glMultiDrawArraysIndirectEXT = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectEXT"
-
--- glMultiDrawElementArrayAPPLE ------------------------------------------------
-
-glMultiDrawElementArrayAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glMultiDrawElementArrayAPPLE v1 v2 v3 v4 = liftIO $ dyn542 ptr_glMultiDrawElementArrayAPPLE v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiDrawElementArrayAPPLE #-}
-ptr_glMultiDrawElementArrayAPPLE :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawElementArrayAPPLE = unsafePerformIO $ getCommand "glMultiDrawElementArrayAPPLE"
-
--- glMultiDrawElements ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElements.xhtml OpenGL 4.x>.
-glMultiDrawElements
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> m ()
-glMultiDrawElements v1 v2 v3 v4 v5 = liftIO $ dyn547 ptr_glMultiDrawElements v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawElements #-}
-ptr_glMultiDrawElements :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
-ptr_glMultiDrawElements = unsafePerformIO $ getCommand "glMultiDrawElements"
-
--- glMultiDrawElementsBaseVertex -----------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsBaseVertex.xhtml OpenGL 4.x>.
-glMultiDrawElementsBaseVertex
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
-  -> m ()
-glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn548 ptr_glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsBaseVertex #-}
-ptr_glMultiDrawElementsBaseVertex :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-ptr_glMultiDrawElementsBaseVertex = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertex"
-
--- glMultiDrawElementsBaseVertexEXT --------------------------------------------
-
--- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
-glMultiDrawElementsBaseVertexEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @primcount@.
-  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
-  -> m ()
-glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn548 ptr_glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsBaseVertexEXT #-}
-ptr_glMultiDrawElementsBaseVertexEXT :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-ptr_glMultiDrawElementsBaseVertexEXT = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertexEXT"
-
--- glMultiDrawElementsBaseVertexOES --------------------------------------------
-
--- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
-glMultiDrawElementsBaseVertexOES
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @primcount@.
-  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
-  -> m ()
-glMultiDrawElementsBaseVertexOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn548 ptr_glMultiDrawElementsBaseVertexOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsBaseVertexOES #-}
-ptr_glMultiDrawElementsBaseVertexOES :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-ptr_glMultiDrawElementsBaseVertexOES = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertexOES"
 
diff --git a/src/Graphics/GL/Functions/F17.hs b/src/Graphics/GL/Functions/F17.hs
--- a/src/Graphics/GL/Functions/F17.hs
+++ b/src/Graphics/GL/Functions/F17.hs
@@ -15,11 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F17 (
+  glMultiDrawElementArrayAPPLE,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsBaseVertexEXT,
   glMultiDrawElementsEXT,
   glMultiDrawElementsIndirect,
   glMultiDrawElementsIndirectAMD,
   glMultiDrawElementsIndirectBindlessCountNV,
   glMultiDrawElementsIndirectBindlessNV,
+  glMultiDrawElementsIndirectCount,
   glMultiDrawElementsIndirectCountARB,
   glMultiDrawElementsIndirectEXT,
   glMultiDrawRangeElementArrayAPPLE,
@@ -109,12 +114,7 @@
   glMultiTexCoord4iv,
   glMultiTexCoord4ivARB,
   glMultiTexCoord4s,
-  glMultiTexCoord4sARB,
-  glMultiTexCoord4sv,
-  glMultiTexCoord4svARB,
-  glMultiTexCoord4x,
-  glMultiTexCoord4xOES,
-  glMultiTexCoord4xvOES
+  glMultiTexCoord4sARB
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,74 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glMultiDrawElementArrayAPPLE ------------------------------------------------
+
+glMultiDrawElementArrayAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glMultiDrawElementArrayAPPLE v1 v2 v3 v4 = liftIO $ dyn542 ptr_glMultiDrawElementArrayAPPLE v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiDrawElementArrayAPPLE #-}
+ptr_glMultiDrawElementArrayAPPLE :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementArrayAPPLE = unsafePerformIO $ getCommand "glMultiDrawElementArrayAPPLE"
+
+-- glMultiDrawElements ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElements.xhtml OpenGL 4.x>.
+glMultiDrawElements
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> m ()
+glMultiDrawElements v1 v2 v3 v4 v5 = liftIO $ dyn547 ptr_glMultiDrawElements v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawElements #-}
+ptr_glMultiDrawElements :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
+ptr_glMultiDrawElements = unsafePerformIO $ getCommand "glMultiDrawElements"
+
+-- glMultiDrawElementsBaseVertex -----------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsBaseVertex.xhtml OpenGL 4.x>.
+glMultiDrawElementsBaseVertex
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
+  -> m ()
+glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn548 ptr_glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsBaseVertex #-}
+ptr_glMultiDrawElementsBaseVertex :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+ptr_glMultiDrawElementsBaseVertex = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertex"
+
+-- glMultiDrawElementsBaseVertexEXT --------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
+glMultiDrawElementsBaseVertexEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @primcount@.
+  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
+  -> m ()
+glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn548 ptr_glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsBaseVertexEXT #-}
+ptr_glMultiDrawElementsBaseVertexEXT :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+ptr_glMultiDrawElementsBaseVertexEXT = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertexEXT"
+
 -- glMultiDrawElementsEXT ------------------------------------------------------
 
 -- | This command is an alias for 'glMultiDrawElements'.
@@ -146,7 +214,7 @@
 glMultiDrawElementsIndirect
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
   -> GLsizei -- ^ @drawcount@.
   -> GLsizei -- ^ @stride@.
@@ -163,7 +231,7 @@
 glMultiDrawElementsIndirectAMD
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indirect@.
   -> GLsizei -- ^ @primcount@.
   -> GLsizei -- ^ @stride@.
@@ -179,7 +247,7 @@
 glMultiDrawElementsIndirectBindlessCountNV
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indirect@.
   -> GLsizei -- ^ @drawCount@.
   -> GLsizei -- ^ @maxDrawCount@.
@@ -197,7 +265,7 @@
 glMultiDrawElementsIndirectBindlessNV
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indirect@.
   -> GLsizei -- ^ @drawCount@.
   -> GLsizei -- ^ @stride@.
@@ -209,13 +277,31 @@
 ptr_glMultiDrawElementsIndirectBindlessNV :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
 ptr_glMultiDrawElementsIndirectBindlessNV = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectBindlessNV"
 
+-- glMultiDrawElementsIndirectCount --------------------------------------------
+
+glMultiDrawElementsIndirectCount
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indirect@.
+  -> GLintptr -- ^ @drawcount@.
+  -> GLsizei -- ^ @maxdrawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawElementsIndirectCount v1 v2 v3 v4 v5 v6 = liftIO $ dyn552 ptr_glMultiDrawElementsIndirectCount v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsIndirectCount #-}
+ptr_glMultiDrawElementsIndirectCount :: FunPtr (GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementsIndirectCount = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectCount"
+
 -- glMultiDrawElementsIndirectCountARB -----------------------------------------
 
+-- | This command is an alias for 'glMultiDrawElementsIndirectCount'.
 glMultiDrawElementsIndirectCountARB
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
-  -> GLintptr -- ^ @indirect@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
+  -> Ptr a -- ^ @indirect@.
   -> GLintptr -- ^ @drawcount@.
   -> GLsizei -- ^ @maxdrawcount@.
   -> GLsizei -- ^ @stride@.
@@ -223,7 +309,7 @@
 glMultiDrawElementsIndirectCountARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn552 ptr_glMultiDrawElementsIndirectCountARB v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glMultiDrawElementsIndirectCountARB #-}
-ptr_glMultiDrawElementsIndirectCountARB :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementsIndirectCountARB :: FunPtr (GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> IO ())
 ptr_glMultiDrawElementsIndirectCountARB = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectCountARB"
 
 -- glMultiDrawElementsIndirectEXT ----------------------------------------------
@@ -232,7 +318,7 @@
 glMultiDrawElementsIndirectEXT
   :: MonadIO m
   => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [DrawElementsType](Graphics-GL-Groups.html#DrawElementsType).
   -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
   -> GLsizei -- ^ @drawcount@.
   -> GLsizei -- ^ @stride@.
@@ -297,12 +383,12 @@
 
 glMultiTexBufferEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@ of type @TypeEnum@.
+  -> GLenum -- ^ @internalformat@ of type [TypeEnum](Graphics-GL-Groups.html#TypeEnum).
   -> GLuint -- ^ @buffer@.
   -> m ()
-glMultiTexBufferEXT v1 v2 v3 v4 = liftIO $ dyn289 ptr_glMultiTexBufferEXT v1 v2 v3 v4
+glMultiTexBufferEXT v1 v2 v3 v4 = liftIO $ dyn290 ptr_glMultiTexBufferEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexBufferEXT #-}
 ptr_glMultiTexBufferEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
@@ -312,7 +398,7 @@
 
 glMultiTexCoord1bOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLbyte -- ^ @s@.
   -> m ()
 glMultiTexCoord1bOES v1 v2 = liftIO $ dyn556 ptr_glMultiTexCoord1bOES v1 v2
@@ -325,7 +411,7 @@
 
 glMultiTexCoord1bvOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
   -> m ()
 glMultiTexCoord1bvOES v1 v2 = liftIO $ dyn557 ptr_glMultiTexCoord1bvOES v1 v2
@@ -339,7 +425,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1dv'.
 glMultiTexCoord1d
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> m ()
 glMultiTexCoord1d v1 v2 = liftIO $ dyn558 ptr_glMultiTexCoord1d v1 v2
@@ -353,7 +439,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord1dv'. This command is an alias for 'glMultiTexCoord1d'.
 glMultiTexCoord1dARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> m ()
 glMultiTexCoord1dARB v1 v2 = liftIO $ dyn558 ptr_glMultiTexCoord1dARB v1 v2
@@ -367,7 +453,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord1dv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
   -> m ()
 glMultiTexCoord1dv v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord1dv v1 v2
@@ -381,7 +467,7 @@
 -- | This command is an alias for 'glMultiTexCoord1dv'.
 glMultiTexCoord1dvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
   -> m ()
 glMultiTexCoord1dvARB v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord1dvARB v1 v2
@@ -395,7 +481,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1fv'.
 glMultiTexCoord1f
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> m ()
 glMultiTexCoord1f v1 v2 = liftIO $ dyn0 ptr_glMultiTexCoord1f v1 v2
@@ -409,7 +495,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord1fv'. This command is an alias for 'glMultiTexCoord1f'.
 glMultiTexCoord1fARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> m ()
 glMultiTexCoord1fARB v1 v2 = liftIO $ dyn0 ptr_glMultiTexCoord1fARB v1 v2
@@ -423,7 +509,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord1fv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
   -> m ()
 glMultiTexCoord1fv v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord1fv v1 v2
@@ -437,7 +523,7 @@
 -- | This command is an alias for 'glMultiTexCoord1fv'.
 glMultiTexCoord1fvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
   -> m ()
 glMultiTexCoord1fvARB v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord1fvARB v1 v2
@@ -451,7 +537,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord1hvNV'.
 glMultiTexCoord1hNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLhalfNV -- ^ @s@ of type @Half16NV@.
   -> m ()
 glMultiTexCoord1hNV v1 v2 = liftIO $ dyn559 ptr_glMultiTexCoord1hNV v1 v2
@@ -464,7 +550,7 @@
 
 glMultiTexCoord1hvNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
   -> m ()
 glMultiTexCoord1hvNV v1 v2 = liftIO $ dyn560 ptr_glMultiTexCoord1hvNV v1 v2
@@ -478,7 +564,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1iv'.
 glMultiTexCoord1i
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> m ()
 glMultiTexCoord1i v1 v2 = liftIO $ dyn56 ptr_glMultiTexCoord1i v1 v2
@@ -492,7 +578,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord1iv'. This command is an alias for 'glMultiTexCoord1i'.
 glMultiTexCoord1iARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> m ()
 glMultiTexCoord1iARB v1 v2 = liftIO $ dyn56 ptr_glMultiTexCoord1iARB v1 v2
@@ -506,7 +592,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord1iv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
   -> m ()
 glMultiTexCoord1iv v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord1iv v1 v2
@@ -520,7 +606,7 @@
 -- | This command is an alias for 'glMultiTexCoord1iv'.
 glMultiTexCoord1ivARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
   -> m ()
 glMultiTexCoord1ivARB v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord1ivARB v1 v2
@@ -534,7 +620,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1sv'.
 glMultiTexCoord1s
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> m ()
 glMultiTexCoord1s v1 v2 = liftIO $ dyn561 ptr_glMultiTexCoord1s v1 v2
@@ -548,7 +634,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord1sv'. This command is an alias for 'glMultiTexCoord1s'.
 glMultiTexCoord1sARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> m ()
 glMultiTexCoord1sARB v1 v2 = liftIO $ dyn561 ptr_glMultiTexCoord1sARB v1 v2
@@ -562,7 +648,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord1sv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
   -> m ()
 glMultiTexCoord1sv v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord1sv v1 v2
@@ -576,7 +662,7 @@
 -- | This command is an alias for 'glMultiTexCoord1sv'.
 glMultiTexCoord1svARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
   -> m ()
 glMultiTexCoord1svARB v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord1svARB v1 v2
@@ -589,7 +675,7 @@
 
 glMultiTexCoord1xOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfixed -- ^ @s@.
   -> m ()
 glMultiTexCoord1xOES v1 v2 = liftIO $ dyn1 ptr_glMultiTexCoord1xOES v1 v2
@@ -602,7 +688,7 @@
 
 glMultiTexCoord1xvOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
   -> m ()
 glMultiTexCoord1xvOES v1 v2 = liftIO $ dyn98 ptr_glMultiTexCoord1xvOES v1 v2
@@ -615,7 +701,7 @@
 
 glMultiTexCoord2bOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLbyte -- ^ @s@.
   -> GLbyte -- ^ @t@.
   -> m ()
@@ -629,7 +715,7 @@
 
 glMultiTexCoord2bvOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLbyte -- ^ @coords@ pointing to @2@ elements of type @GLbyte@.
   -> m ()
 glMultiTexCoord2bvOES v1 v2 = liftIO $ dyn557 ptr_glMultiTexCoord2bvOES v1 v2
@@ -643,7 +729,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2dv'.
 glMultiTexCoord2d
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> GLdouble -- ^ @t@ of type @CoordD@.
   -> m ()
@@ -658,7 +744,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord2dv'. This command is an alias for 'glMultiTexCoord2d'.
 glMultiTexCoord2dARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> GLdouble -- ^ @t@ of type @CoordD@.
   -> m ()
@@ -673,7 +759,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord2dv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
   -> m ()
 glMultiTexCoord2dv v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord2dv v1 v2
@@ -687,7 +773,7 @@
 -- | This command is an alias for 'glMultiTexCoord2dv'.
 glMultiTexCoord2dvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
   -> m ()
 glMultiTexCoord2dvARB v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord2dvARB v1 v2
@@ -701,7 +787,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2fv'.
 glMultiTexCoord2f
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> GLfloat -- ^ @t@ of type @CoordF@.
   -> m ()
@@ -716,7 +802,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord2fv'. This command is an alias for 'glMultiTexCoord2f'.
 glMultiTexCoord2fARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> GLfloat -- ^ @t@ of type @CoordF@.
   -> m ()
@@ -731,7 +817,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord2fv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
   -> m ()
 glMultiTexCoord2fv v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord2fv v1 v2
@@ -745,7 +831,7 @@
 -- | This command is an alias for 'glMultiTexCoord2fv'.
 glMultiTexCoord2fvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
   -> m ()
 glMultiTexCoord2fvARB v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord2fvARB v1 v2
@@ -759,7 +845,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord2hvNV'.
 glMultiTexCoord2hNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLhalfNV -- ^ @s@ of type @Half16NV@.
   -> GLhalfNV -- ^ @t@ of type @Half16NV@.
   -> m ()
@@ -773,7 +859,7 @@
 
 glMultiTexCoord2hvNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
   -> m ()
 glMultiTexCoord2hvNV v1 v2 = liftIO $ dyn560 ptr_glMultiTexCoord2hvNV v1 v2
@@ -787,11 +873,11 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2iv'.
 glMultiTexCoord2i
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> GLint -- ^ @t@ of type @CoordI@.
   -> m ()
-glMultiTexCoord2i v1 v2 v3 = liftIO $ dyn268 ptr_glMultiTexCoord2i v1 v2 v3
+glMultiTexCoord2i v1 v2 v3 = liftIO $ dyn269 ptr_glMultiTexCoord2i v1 v2 v3
 
 {-# NOINLINE ptr_glMultiTexCoord2i #-}
 ptr_glMultiTexCoord2i :: FunPtr (GLenum -> GLint -> GLint -> IO ())
@@ -802,11 +888,11 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord2iv'. This command is an alias for 'glMultiTexCoord2i'.
 glMultiTexCoord2iARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> GLint -- ^ @t@ of type @CoordI@.
   -> m ()
-glMultiTexCoord2iARB v1 v2 v3 = liftIO $ dyn268 ptr_glMultiTexCoord2iARB v1 v2 v3
+glMultiTexCoord2iARB v1 v2 v3 = liftIO $ dyn269 ptr_glMultiTexCoord2iARB v1 v2 v3
 
 {-# NOINLINE ptr_glMultiTexCoord2iARB #-}
 ptr_glMultiTexCoord2iARB :: FunPtr (GLenum -> GLint -> GLint -> IO ())
@@ -817,7 +903,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord2iv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
   -> m ()
 glMultiTexCoord2iv v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord2iv v1 v2
@@ -831,7 +917,7 @@
 -- | This command is an alias for 'glMultiTexCoord2iv'.
 glMultiTexCoord2ivARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
   -> m ()
 glMultiTexCoord2ivARB v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord2ivARB v1 v2
@@ -845,7 +931,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2sv'.
 glMultiTexCoord2s
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> GLshort -- ^ @t@ of type @CoordS@.
   -> m ()
@@ -860,7 +946,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord2sv'. This command is an alias for 'glMultiTexCoord2s'.
 glMultiTexCoord2sARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> GLshort -- ^ @t@ of type @CoordS@.
   -> m ()
@@ -875,7 +961,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord2sv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
   -> m ()
 glMultiTexCoord2sv v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord2sv v1 v2
@@ -889,7 +975,7 @@
 -- | This command is an alias for 'glMultiTexCoord2sv'.
 glMultiTexCoord2svARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
   -> m ()
 glMultiTexCoord2svARB v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord2svARB v1 v2
@@ -902,7 +988,7 @@
 
 glMultiTexCoord2xOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfixed -- ^ @s@.
   -> GLfixed -- ^ @t@.
   -> m ()
@@ -916,7 +1002,7 @@
 
 glMultiTexCoord2xvOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
   -> m ()
 glMultiTexCoord2xvOES v1 v2 = liftIO $ dyn98 ptr_glMultiTexCoord2xvOES v1 v2
@@ -929,7 +1015,7 @@
 
 glMultiTexCoord3bOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLbyte -- ^ @s@.
   -> GLbyte -- ^ @t@.
   -> GLbyte -- ^ @r@.
@@ -944,7 +1030,7 @@
 
 glMultiTexCoord3bvOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
   -> m ()
 glMultiTexCoord3bvOES v1 v2 = liftIO $ dyn557 ptr_glMultiTexCoord3bvOES v1 v2
@@ -958,7 +1044,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3dv'.
 glMultiTexCoord3d
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> GLdouble -- ^ @t@ of type @CoordD@.
   -> GLdouble -- ^ @r@ of type @CoordD@.
@@ -974,7 +1060,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord3dv'. This command is an alias for 'glMultiTexCoord3d'.
 glMultiTexCoord3dARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> GLdouble -- ^ @t@ of type @CoordD@.
   -> GLdouble -- ^ @r@ of type @CoordD@.
@@ -990,7 +1076,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord3dv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
   -> m ()
 glMultiTexCoord3dv v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord3dv v1 v2
@@ -1004,7 +1090,7 @@
 -- | This command is an alias for 'glMultiTexCoord3dv'.
 glMultiTexCoord3dvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
   -> m ()
 glMultiTexCoord3dvARB v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord3dvARB v1 v2
@@ -1018,7 +1104,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3fv'.
 glMultiTexCoord3f
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> GLfloat -- ^ @t@ of type @CoordF@.
   -> GLfloat -- ^ @r@ of type @CoordF@.
@@ -1034,7 +1120,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord3fv'. This command is an alias for 'glMultiTexCoord3f'.
 glMultiTexCoord3fARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> GLfloat -- ^ @t@ of type @CoordF@.
   -> GLfloat -- ^ @r@ of type @CoordF@.
@@ -1050,7 +1136,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord3fv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
   -> m ()
 glMultiTexCoord3fv v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord3fv v1 v2
@@ -1064,7 +1150,7 @@
 -- | This command is an alias for 'glMultiTexCoord3fv'.
 glMultiTexCoord3fvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
   -> m ()
 glMultiTexCoord3fvARB v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord3fvARB v1 v2
@@ -1078,7 +1164,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord3hvNV'.
 glMultiTexCoord3hNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLhalfNV -- ^ @s@ of type @Half16NV@.
   -> GLhalfNV -- ^ @t@ of type @Half16NV@.
   -> GLhalfNV -- ^ @r@ of type @Half16NV@.
@@ -1093,7 +1179,7 @@
 
 glMultiTexCoord3hvNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
   -> m ()
 glMultiTexCoord3hvNV v1 v2 = liftIO $ dyn560 ptr_glMultiTexCoord3hvNV v1 v2
@@ -1107,7 +1193,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3iv'.
 glMultiTexCoord3i
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> GLint -- ^ @t@ of type @CoordI@.
   -> GLint -- ^ @r@ of type @CoordI@.
@@ -1123,7 +1209,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord3iv'. This command is an alias for 'glMultiTexCoord3i'.
 glMultiTexCoord3iARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> GLint -- ^ @t@ of type @CoordI@.
   -> GLint -- ^ @r@ of type @CoordI@.
@@ -1139,7 +1225,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord3iv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
   -> m ()
 glMultiTexCoord3iv v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord3iv v1 v2
@@ -1153,7 +1239,7 @@
 -- | This command is an alias for 'glMultiTexCoord3iv'.
 glMultiTexCoord3ivARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
   -> m ()
 glMultiTexCoord3ivARB v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord3ivARB v1 v2
@@ -1167,7 +1253,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3sv'.
 glMultiTexCoord3s
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> GLshort -- ^ @t@ of type @CoordS@.
   -> GLshort -- ^ @r@ of type @CoordS@.
@@ -1183,7 +1269,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord3sv'. This command is an alias for 'glMultiTexCoord3s'.
 glMultiTexCoord3sARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> GLshort -- ^ @t@ of type @CoordS@.
   -> GLshort -- ^ @r@ of type @CoordS@.
@@ -1199,7 +1285,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord3sv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
   -> m ()
 glMultiTexCoord3sv v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord3sv v1 v2
@@ -1213,7 +1299,7 @@
 -- | This command is an alias for 'glMultiTexCoord3sv'.
 glMultiTexCoord3svARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
   -> m ()
 glMultiTexCoord3svARB v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord3svARB v1 v2
@@ -1226,7 +1312,7 @@
 
 glMultiTexCoord3xOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfixed -- ^ @s@.
   -> GLfixed -- ^ @t@.
   -> GLfixed -- ^ @r@.
@@ -1241,7 +1327,7 @@
 
 glMultiTexCoord3xvOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
   -> m ()
 glMultiTexCoord3xvOES v1 v2 = liftIO $ dyn98 ptr_glMultiTexCoord3xvOES v1 v2
@@ -1254,7 +1340,7 @@
 
 glMultiTexCoord4bOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLbyte -- ^ @s@.
   -> GLbyte -- ^ @t@.
   -> GLbyte -- ^ @r@.
@@ -1270,7 +1356,7 @@
 
 glMultiTexCoord4bvOES
   :: MonadIO m
-  => GLenum -- ^ @texture@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
   -> m ()
 glMultiTexCoord4bvOES v1 v2 = liftIO $ dyn557 ptr_glMultiTexCoord4bvOES v1 v2
@@ -1284,7 +1370,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4dv'.
 glMultiTexCoord4d
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> GLdouble -- ^ @t@ of type @CoordD@.
   -> GLdouble -- ^ @r@ of type @CoordD@.
@@ -1301,7 +1387,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord4dv'. This command is an alias for 'glMultiTexCoord4d'.
 glMultiTexCoord4dARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLdouble -- ^ @s@ of type @CoordD@.
   -> GLdouble -- ^ @t@ of type @CoordD@.
   -> GLdouble -- ^ @r@ of type @CoordD@.
@@ -1318,7 +1404,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord4dv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
   -> m ()
 glMultiTexCoord4dv v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord4dv v1 v2
@@ -1332,7 +1418,7 @@
 -- | This command is an alias for 'glMultiTexCoord4dv'.
 glMultiTexCoord4dvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
   -> m ()
 glMultiTexCoord4dvARB v1 v2 = liftIO $ dyn96 ptr_glMultiTexCoord4dvARB v1 v2
@@ -1346,7 +1432,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4fv'.
 glMultiTexCoord4f
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> GLfloat -- ^ @t@ of type @CoordF@.
   -> GLfloat -- ^ @r@ of type @CoordF@.
@@ -1363,7 +1449,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord4fv'. This command is an alias for 'glMultiTexCoord4f'.
 glMultiTexCoord4fARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLfloat -- ^ @s@ of type @CoordF@.
   -> GLfloat -- ^ @t@ of type @CoordF@.
   -> GLfloat -- ^ @r@ of type @CoordF@.
@@ -1380,7 +1466,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord4fv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
   -> m ()
 glMultiTexCoord4fv v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord4fv v1 v2
@@ -1394,7 +1480,7 @@
 -- | This command is an alias for 'glMultiTexCoord4fv'.
 glMultiTexCoord4fvARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
   -> m ()
 glMultiTexCoord4fvARB v1 v2 = liftIO $ dyn97 ptr_glMultiTexCoord4fvARB v1 v2
@@ -1408,7 +1494,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord4hvNV'.
 glMultiTexCoord4hNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLhalfNV -- ^ @s@ of type @Half16NV@.
   -> GLhalfNV -- ^ @t@ of type @Half16NV@.
   -> GLhalfNV -- ^ @r@ of type @Half16NV@.
@@ -1424,7 +1510,7 @@
 
 glMultiTexCoord4hvNV
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
   -> m ()
 glMultiTexCoord4hvNV v1 v2 = liftIO $ dyn560 ptr_glMultiTexCoord4hvNV v1 v2
@@ -1438,13 +1524,13 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4iv'.
 glMultiTexCoord4i
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> GLint -- ^ @t@ of type @CoordI@.
   -> GLint -- ^ @r@ of type @CoordI@.
   -> GLint -- ^ @q@ of type @CoordI@.
   -> m ()
-glMultiTexCoord4i v1 v2 v3 v4 v5 = liftIO $ dyn269 ptr_glMultiTexCoord4i v1 v2 v3 v4 v5
+glMultiTexCoord4i v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glMultiTexCoord4i v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glMultiTexCoord4i #-}
 ptr_glMultiTexCoord4i :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
@@ -1455,13 +1541,13 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord4iv'. This command is an alias for 'glMultiTexCoord4i'.
 glMultiTexCoord4iARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @s@ of type @CoordI@.
   -> GLint -- ^ @t@ of type @CoordI@.
   -> GLint -- ^ @r@ of type @CoordI@.
   -> GLint -- ^ @q@ of type @CoordI@.
   -> m ()
-glMultiTexCoord4iARB v1 v2 v3 v4 v5 = liftIO $ dyn269 ptr_glMultiTexCoord4iARB v1 v2 v3 v4 v5
+glMultiTexCoord4iARB v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glMultiTexCoord4iARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glMultiTexCoord4iARB #-}
 ptr_glMultiTexCoord4iARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
@@ -1472,7 +1558,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
 glMultiTexCoord4iv
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
   -> m ()
 glMultiTexCoord4iv v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord4iv v1 v2
@@ -1486,7 +1572,7 @@
 -- | This command is an alias for 'glMultiTexCoord4iv'.
 glMultiTexCoord4ivARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
   -> m ()
 glMultiTexCoord4ivARB v1 v2 = liftIO $ dyn139 ptr_glMultiTexCoord4ivARB v1 v2
@@ -1500,7 +1586,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4sv'.
 glMultiTexCoord4s
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> GLshort -- ^ @t@ of type @CoordS@.
   -> GLshort -- ^ @r@ of type @CoordS@.
@@ -1517,7 +1603,7 @@
 -- | The vector equivalent of this command is 'glMultiTexCoord4sv'. This command is an alias for 'glMultiTexCoord4s'.
 glMultiTexCoord4sARB
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLshort -- ^ @s@ of type @CoordS@.
   -> GLshort -- ^ @t@ of type @CoordS@.
   -> GLshort -- ^ @r@ of type @CoordS@.
@@ -1528,77 +1614,4 @@
 {-# NOINLINE ptr_glMultiTexCoord4sARB #-}
 ptr_glMultiTexCoord4sARB :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
 ptr_glMultiTexCoord4sARB = unsafePerformIO $ getCommand "glMultiTexCoord4sARB"
-
--- glMultiTexCoord4sv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord4sv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord4sv v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord4sv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4sv #-}
-ptr_glMultiTexCoord4sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord4sv = unsafePerformIO $ getCommand "glMultiTexCoord4sv"
-
--- glMultiTexCoord4svARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord4sv'.
-glMultiTexCoord4svARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord4svARB v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord4svARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4svARB #-}
-ptr_glMultiTexCoord4svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord4svARB = unsafePerformIO $ getCommand "glMultiTexCoord4svARB"
-
--- glMultiTexCoord4x -----------------------------------------------------------
-
-glMultiTexCoord4x
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @q@.
-  -> m ()
-glMultiTexCoord4x v1 v2 v3 v4 v5 = liftIO $ dyn577 ptr_glMultiTexCoord4x v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4x #-}
-ptr_glMultiTexCoord4x :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glMultiTexCoord4x = unsafePerformIO $ getCommand "glMultiTexCoord4x"
-
--- glMultiTexCoord4xOES --------------------------------------------------------
-
-glMultiTexCoord4xOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @q@.
-  -> m ()
-glMultiTexCoord4xOES v1 v2 v3 v4 v5 = liftIO $ dyn577 ptr_glMultiTexCoord4xOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4xOES #-}
-ptr_glMultiTexCoord4xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glMultiTexCoord4xOES = unsafePerformIO $ getCommand "glMultiTexCoord4xOES"
-
--- glMultiTexCoord4xvOES -------------------------------------------------------
-
-glMultiTexCoord4xvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glMultiTexCoord4xvOES v1 v2 = liftIO $ dyn98 ptr_glMultiTexCoord4xvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4xvOES #-}
-ptr_glMultiTexCoord4xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glMultiTexCoord4xvOES = unsafePerformIO $ getCommand "glMultiTexCoord4xvOES"
 
diff --git a/src/Graphics/GL/Functions/F18.hs b/src/Graphics/GL/Functions/F18.hs
--- a/src/Graphics/GL/Functions/F18.hs
+++ b/src/Graphics/GL/Functions/F18.hs
@@ -15,6 +15,11 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F18 (
+  glMultiTexCoord4sv,
+  glMultiTexCoord4svARB,
+  glMultiTexCoord4x,
+  glMultiTexCoord4xOES,
+  glMultiTexCoord4xvOES,
   glMultiTexCoordP1ui,
   glMultiTexCoordP1uiv,
   glMultiTexCoordP2ui,
@@ -109,12 +114,7 @@
   glNewObjectBufferATI,
   glNormal3b,
   glNormal3bv,
-  glNormal3d,
-  glNormal3dv,
-  glNormal3f,
-  glNormal3fVertex3fSUN,
-  glNormal3fVertex3fvSUN,
-  glNormal3fv
+  glNormal3d
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,12 +123,85 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glMultiTexCoord4sv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord4sv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord4sv v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord4sv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4sv #-}
+ptr_glMultiTexCoord4sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord4sv = unsafePerformIO $ getCommand "glMultiTexCoord4sv"
+
+-- glMultiTexCoord4svARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord4sv'.
+glMultiTexCoord4svARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord4svARB v1 v2 = liftIO $ dyn562 ptr_glMultiTexCoord4svARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4svARB #-}
+ptr_glMultiTexCoord4svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord4svARB = unsafePerformIO $ getCommand "glMultiTexCoord4svARB"
+
+-- glMultiTexCoord4x -----------------------------------------------------------
+
+glMultiTexCoord4x
+  :: MonadIO m
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @q@.
+  -> m ()
+glMultiTexCoord4x v1 v2 v3 v4 v5 = liftIO $ dyn577 ptr_glMultiTexCoord4x v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4x #-}
+ptr_glMultiTexCoord4x :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glMultiTexCoord4x = unsafePerformIO $ getCommand "glMultiTexCoord4x"
+
+-- glMultiTexCoord4xOES --------------------------------------------------------
+
+glMultiTexCoord4xOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @q@.
+  -> m ()
+glMultiTexCoord4xOES v1 v2 v3 v4 v5 = liftIO $ dyn577 ptr_glMultiTexCoord4xOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4xOES #-}
+ptr_glMultiTexCoord4xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glMultiTexCoord4xOES = unsafePerformIO $ getCommand "glMultiTexCoord4xOES"
+
+-- glMultiTexCoord4xvOES -------------------------------------------------------
+
+glMultiTexCoord4xvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glMultiTexCoord4xvOES v1 v2 = liftIO $ dyn98 ptr_glMultiTexCoord4xvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4xvOES #-}
+ptr_glMultiTexCoord4xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glMultiTexCoord4xvOES = unsafePerformIO $ getCommand "glMultiTexCoord4xvOES"
+
 -- glMultiTexCoordP1ui ---------------------------------------------------------
 
 glMultiTexCoordP1ui
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glMultiTexCoordP1ui v1 v2 v3 = liftIO $ dyn30 ptr_glMultiTexCoordP1ui v1 v2 v3
@@ -141,11 +214,11 @@
 
 glMultiTexCoordP1uiv
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glMultiTexCoordP1uiv v1 v2 v3 = liftIO $ dyn422 ptr_glMultiTexCoordP1uiv v1 v2 v3
+glMultiTexCoordP1uiv v1 v2 v3 = liftIO $ dyn423 ptr_glMultiTexCoordP1uiv v1 v2 v3
 
 {-# NOINLINE ptr_glMultiTexCoordP1uiv #-}
 ptr_glMultiTexCoordP1uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -155,8 +228,8 @@
 
 glMultiTexCoordP2ui
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glMultiTexCoordP2ui v1 v2 v3 = liftIO $ dyn30 ptr_glMultiTexCoordP2ui v1 v2 v3
@@ -169,11 +242,11 @@
 
 glMultiTexCoordP2uiv
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glMultiTexCoordP2uiv v1 v2 v3 = liftIO $ dyn422 ptr_glMultiTexCoordP2uiv v1 v2 v3
+glMultiTexCoordP2uiv v1 v2 v3 = liftIO $ dyn423 ptr_glMultiTexCoordP2uiv v1 v2 v3
 
 {-# NOINLINE ptr_glMultiTexCoordP2uiv #-}
 ptr_glMultiTexCoordP2uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -183,8 +256,8 @@
 
 glMultiTexCoordP3ui
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glMultiTexCoordP3ui v1 v2 v3 = liftIO $ dyn30 ptr_glMultiTexCoordP3ui v1 v2 v3
@@ -197,11 +270,11 @@
 
 glMultiTexCoordP3uiv
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glMultiTexCoordP3uiv v1 v2 v3 = liftIO $ dyn422 ptr_glMultiTexCoordP3uiv v1 v2 v3
+glMultiTexCoordP3uiv v1 v2 v3 = liftIO $ dyn423 ptr_glMultiTexCoordP3uiv v1 v2 v3
 
 {-# NOINLINE ptr_glMultiTexCoordP3uiv #-}
 ptr_glMultiTexCoordP3uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -211,8 +284,8 @@
 
 glMultiTexCoordP4ui
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glMultiTexCoordP4ui v1 v2 v3 = liftIO $ dyn30 ptr_glMultiTexCoordP4ui v1 v2 v3
@@ -225,11 +298,11 @@
 
 glMultiTexCoordP4uiv
   :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
+  => GLenum -- ^ @texture@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glMultiTexCoordP4uiv v1 v2 v3 = liftIO $ dyn422 ptr_glMultiTexCoordP4uiv v1 v2 v3
+glMultiTexCoordP4uiv v1 v2 v3 = liftIO $ dyn423 ptr_glMultiTexCoordP4uiv v1 v2 v3
 
 {-# NOINLINE ptr_glMultiTexCoordP4uiv #-}
 ptr_glMultiTexCoordP4uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -239,7 +312,7 @@
 
 glMultiTexCoordPointerEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLint -- ^ @size@.
   -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLsizei -- ^ @stride@.
@@ -256,7 +329,7 @@
 -- | The vector equivalent of this command is 'glMultiTexEnvfvEXT'.
 glMultiTexEnvfEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
   -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
@@ -271,12 +344,12 @@
 
 glMultiTexEnvfvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
   -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
-glMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn327 ptr_glMultiTexEnvfvEXT v1 v2 v3 v4
+glMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glMultiTexEnvfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexEnvfvEXT #-}
 ptr_glMultiTexEnvfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -287,7 +360,7 @@
 -- | The vector equivalent of this command is 'glMultiTexEnvivEXT'.
 glMultiTexEnviEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
   -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> GLint -- ^ @param@ of type @CheckedInt32@.
@@ -302,12 +375,12 @@
 
 glMultiTexEnvivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
   -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glMultiTexEnvivEXT v1 v2 v3 v4
+glMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glMultiTexEnvivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexEnvivEXT #-}
 ptr_glMultiTexEnvivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -318,7 +391,7 @@
 -- | The vector equivalent of this command is 'glMultiTexGendvEXT'.
 glMultiTexGendEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> GLdouble -- ^ @param@.
@@ -333,12 +406,12 @@
 
 glMultiTexGendvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn362 ptr_glMultiTexGendvEXT v1 v2 v3 v4
+glMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn363 ptr_glMultiTexGendvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexGendvEXT #-}
 ptr_glMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
@@ -349,7 +422,7 @@
 -- | The vector equivalent of this command is 'glMultiTexGenfvEXT'.
 glMultiTexGenfEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
@@ -364,12 +437,12 @@
 
 glMultiTexGenfvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
-glMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn327 ptr_glMultiTexGenfvEXT v1 v2 v3 v4
+glMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glMultiTexGenfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexGenfvEXT #-}
 ptr_glMultiTexGenfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -380,7 +453,7 @@
 -- | The vector equivalent of this command is 'glMultiTexGenivEXT'.
 glMultiTexGeniEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> GLint -- ^ @param@ of type @CheckedInt32@.
@@ -395,12 +468,12 @@
 
 glMultiTexGenivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glMultiTexGenivEXT v1 v2 v3 v4
+glMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glMultiTexGenivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexGenivEXT #-}
 ptr_glMultiTexGenivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -410,10 +483,10 @@
 
 glMultiTexImage1DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
@@ -430,10 +503,10 @@
 
 glMultiTexImage2DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
@@ -451,10 +524,10 @@
 
 glMultiTexImage3DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
@@ -473,12 +546,12 @@
 
 glMultiTexParameterIivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glMultiTexParameterIivEXT v1 v2 v3 v4
+glMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glMultiTexParameterIivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexParameterIivEXT #-}
 ptr_glMultiTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -488,12 +561,12 @@
 
 glMultiTexParameterIuivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn366 ptr_glMultiTexParameterIuivEXT v1 v2 v3 v4
+glMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn367 ptr_glMultiTexParameterIuivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexParameterIuivEXT #-}
 ptr_glMultiTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -504,7 +577,7 @@
 -- | The vector equivalent of this command is 'glMultiTexParameterfvEXT'.
 glMultiTexParameterfEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
@@ -519,12 +592,12 @@
 
 glMultiTexParameterfvEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
-glMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn327 ptr_glMultiTexParameterfvEXT v1 v2 v3 v4
+glMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glMultiTexParameterfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexParameterfvEXT #-}
 ptr_glMultiTexParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -535,7 +608,7 @@
 -- | The vector equivalent of this command is 'glMultiTexParameterivEXT'.
 glMultiTexParameteriEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> GLint -- ^ @param@ of type @CheckedInt32@.
@@ -550,12 +623,12 @@
 
 glMultiTexParameterivEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glMultiTexParameterivEXT v1 v2 v3 v4
+glMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn329 ptr_glMultiTexParameterivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMultiTexParameterivEXT #-}
 ptr_glMultiTexParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -565,7 +638,7 @@
 
 glMultiTexRenderbufferEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
@@ -579,7 +652,7 @@
 
 glMultiTexSubImage1DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -598,7 +671,7 @@
 
 glMultiTexSubImage2DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -619,7 +692,7 @@
 
 glMultiTexSubImage3DEXT
   :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  => GLenum -- ^ @texunit@ of type [TextureUnit](Graphics-GL-Groups.html#TextureUnit).
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
@@ -663,7 +736,7 @@
   -> GLint -- ^ @dstY0@.
   -> GLint -- ^ @dstX1@.
   -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@.
+  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
   -> GLenum -- ^ @filter@.
   -> m ()
 glMulticastBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn58 ptr_glMulticastBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
@@ -759,7 +832,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint64 -- ^ @params@.
   -> m ()
-glMulticastGetQueryObjecti64vNV v1 v2 v3 v4 = liftIO $ dyn451 ptr_glMulticastGetQueryObjecti64vNV v1 v2 v3 v4
+glMulticastGetQueryObjecti64vNV v1 v2 v3 v4 = liftIO $ dyn452 ptr_glMulticastGetQueryObjecti64vNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMulticastGetQueryObjecti64vNV #-}
 ptr_glMulticastGetQueryObjecti64vNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
@@ -774,7 +847,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glMulticastGetQueryObjectivNV v1 v2 v3 v4 = liftIO $ dyn307 ptr_glMulticastGetQueryObjectivNV v1 v2 v3 v4
+glMulticastGetQueryObjectivNV v1 v2 v3 v4 = liftIO $ dyn308 ptr_glMulticastGetQueryObjectivNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glMulticastGetQueryObjectivNV #-}
 ptr_glMulticastGetQueryObjectivNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -831,7 +904,7 @@
   => GLuint -- ^ @buffer@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> Ptr a -- ^ @data@.
-  -> GLenum -- ^ @usage@.
+  -> GLenum -- ^ @usage@ of type [VertexBufferObjectUsage](Graphics-GL-Groups.html#VertexBufferObjectUsage).
   -> m ()
 glNamedBufferData v1 v2 v3 v4 = liftIO $ dyn593 ptr_glNamedBufferData v1 v2 v3 v4
 
@@ -846,7 +919,7 @@
   => GLuint -- ^ @buffer@.
   -> GLsizeiptr -- ^ @size@.
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
-  -> GLenum -- ^ @usage@ of type @VertexBufferObjectUsage@.
+  -> GLenum -- ^ @usage@ of type [VertexBufferObjectUsage](Graphics-GL-Groups.html#VertexBufferObjectUsage).
   -> m ()
 glNamedBufferDataEXT v1 v2 v3 v4 = liftIO $ dyn593 ptr_glNamedBufferDataEXT v1 v2 v3 v4
 
@@ -892,7 +965,7 @@
   => GLuint -- ^ @buffer@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [MapBufferUsageMask](Graphics-GL-Groups.html#MapBufferUsageMask).
   -> m ()
 glNamedBufferStorage v1 v2 v3 v4 = liftIO $ dyn595 ptr_glNamedBufferStorage v1 v2 v3 v4
 
@@ -908,7 +981,7 @@
   => GLuint -- ^ @buffer@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [MapBufferUsageMask](Graphics-GL-Groups.html#MapBufferUsageMask).
   -> m ()
 glNamedBufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn595 ptr_glNamedBufferStorageEXT v1 v2 v3 v4
 
@@ -924,7 +997,7 @@
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @size@.
   -> GLeglClientBufferEXT -- ^ @clientBuffer@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [MapBufferUsageMask](Graphics-GL-Groups.html#MapBufferUsageMask).
   -> m ()
 glNamedBufferStorageExternalEXT v1 v2 v3 v4 v5 = liftIO $ dyn596 ptr_glNamedBufferStorageExternalEXT v1 v2 v3 v4 v5
 
@@ -957,7 +1030,7 @@
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
   -> m ()
-glNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn370 ptr_glNamedBufferSubData v1 v2 v3 v4
+glNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn371 ptr_glNamedBufferSubData v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNamedBufferSubData #-}
 ptr_glNamedBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
@@ -973,7 +1046,7 @@
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
   -> m ()
-glNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn370 ptr_glNamedBufferSubDataEXT v1 v2 v3 v4
+glNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glNamedBufferSubDataEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNamedBufferSubDataEXT #-}
 ptr_glNamedBufferSubDataEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
@@ -1001,7 +1074,7 @@
 glNamedFramebufferDrawBuffer
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buf@.
+  -> GLenum -- ^ @buf@ of type [ColorBuffer](Graphics-GL-Groups.html#ColorBuffer).
   -> m ()
 glNamedFramebufferDrawBuffer v1 v2 = liftIO $ dyn16 ptr_glNamedFramebufferDrawBuffer v1 v2
 
@@ -1016,9 +1089,9 @@
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
   -> GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@.
+  -> Ptr GLenum -- ^ @bufs@ pointing to elements of type [ColorBuffer](Graphics-GL-Groups.html#ColorBuffer).
   -> m ()
-glNamedFramebufferDrawBuffers v1 v2 v3 = liftIO $ dyn286 ptr_glNamedFramebufferDrawBuffers v1 v2 v3
+glNamedFramebufferDrawBuffers v1 v2 v3 = liftIO $ dyn287 ptr_glNamedFramebufferDrawBuffers v1 v2 v3
 
 {-# NOINLINE ptr_glNamedFramebufferDrawBuffers #-}
 ptr_glNamedFramebufferDrawBuffers :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
@@ -1030,10 +1103,10 @@
 glNamedFramebufferParameteri
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [FramebufferParameterName](Graphics-GL-Groups.html#FramebufferParameterName).
   -> GLint -- ^ @param@.
   -> m ()
-glNamedFramebufferParameteri v1 v2 v3 = liftIO $ dyn481 ptr_glNamedFramebufferParameteri v1 v2 v3
+glNamedFramebufferParameteri v1 v2 v3 = liftIO $ dyn482 ptr_glNamedFramebufferParameteri v1 v2 v3
 
 {-# NOINLINE ptr_glNamedFramebufferParameteri #-}
 ptr_glNamedFramebufferParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1044,10 +1117,10 @@
 glNamedFramebufferParameteriEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @pname@ of type @FramebufferParameterName@.
+  -> GLenum -- ^ @pname@ of type [FramebufferParameterName](Graphics-GL-Groups.html#FramebufferParameterName).
   -> GLint -- ^ @param@.
   -> m ()
-glNamedFramebufferParameteriEXT v1 v2 v3 = liftIO $ dyn481 ptr_glNamedFramebufferParameteriEXT v1 v2 v3
+glNamedFramebufferParameteriEXT v1 v2 v3 = liftIO $ dyn482 ptr_glNamedFramebufferParameteriEXT v1 v2 v3
 
 {-# NOINLINE ptr_glNamedFramebufferParameteriEXT #-}
 ptr_glNamedFramebufferParameteriEXT :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1059,7 +1132,7 @@
 glNamedFramebufferReadBuffer
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @src@.
+  -> GLenum -- ^ @src@ of type [ColorBuffer](Graphics-GL-Groups.html#ColorBuffer).
   -> m ()
 glNamedFramebufferReadBuffer v1 v2 = liftIO $ dyn16 ptr_glNamedFramebufferReadBuffer v1 v2
 
@@ -1073,8 +1146,8 @@
 glNamedFramebufferRenderbuffer
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @renderbuffertarget@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
 glNamedFramebufferRenderbuffer v1 v2 v3 v4 = liftIO $ dyn598 ptr_glNamedFramebufferRenderbuffer v1 v2 v3 v4
@@ -1088,8 +1161,8 @@
 glNamedFramebufferRenderbufferEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
+  -> GLenum -- ^ @renderbuffertarget@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
   -> m ()
 glNamedFramebufferRenderbufferEXT v1 v2 v3 v4 = liftIO $ dyn598 ptr_glNamedFramebufferRenderbufferEXT v1 v2 v3 v4
@@ -1149,7 +1222,7 @@
 glNamedFramebufferTexture
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> m ()
@@ -1164,7 +1237,7 @@
 glNamedFramebufferTexture1DEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
@@ -1180,7 +1253,7 @@
 glNamedFramebufferTexture2DEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
@@ -1196,7 +1269,7 @@
 glNamedFramebufferTexture3DEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
@@ -1213,7 +1286,7 @@
 glNamedFramebufferTextureEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> m ()
@@ -1228,7 +1301,7 @@
 glNamedFramebufferTextureFaceEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
@@ -1245,7 +1318,7 @@
 glNamedFramebufferTextureLayer
   :: MonadIO m
   => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@.
   -> GLint -- ^ @level@.
   -> GLint -- ^ @layer@.
@@ -1261,7 +1334,7 @@
 glNamedFramebufferTextureLayerEXT
   :: MonadIO m
   => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @attachment@ of type [FramebufferAttachment](Graphics-GL-Groups.html#FramebufferAttachment).
   -> GLuint -- ^ @texture@ of type @Texture@.
   -> GLint -- ^ @level@ of type @CheckedInt32@.
   -> GLint -- ^ @layer@ of type @CheckedInt32@.
@@ -1300,7 +1373,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4 = liftIO $ dyn375 ptr_glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4
+glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4 = liftIO $ dyn376 ptr_glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNamedProgramLocalParameter4dvEXT #-}
 ptr_glNamedProgramLocalParameter4dvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -1334,7 +1407,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4 = liftIO $ dyn376 ptr_glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4
+glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4 = liftIO $ dyn377 ptr_glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNamedProgramLocalParameter4fvEXT #-}
 ptr_glNamedProgramLocalParameter4fvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -1368,7 +1441,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4 = liftIO $ dyn373 ptr_glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4
+glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4 = liftIO $ dyn374 ptr_glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNamedProgramLocalParameterI4ivEXT #-}
 ptr_glNamedProgramLocalParameterI4ivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -1402,7 +1475,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
   -> m ()
-glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4 = liftIO $ dyn374 ptr_glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4
+glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4 = liftIO $ dyn375 ptr_glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNamedProgramLocalParameterI4uivEXT #-}
 ptr_glNamedProgramLocalParameterI4uivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
@@ -1478,7 +1551,7 @@
 glNamedRenderbufferStorage
   :: MonadIO m
   => GLuint -- ^ @renderbuffer@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
@@ -1510,7 +1583,7 @@
   :: MonadIO m
   => GLuint -- ^ @renderbuffer@.
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
@@ -1639,75 +1712,4 @@
 {-# NOINLINE ptr_glNormal3d #-}
 ptr_glNormal3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
 ptr_glNormal3d = unsafePerformIO $ getCommand "glNormal3d"
-
--- glNormal3dv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
-glNormal3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glNormal3dv v1 = liftIO $ dyn40 ptr_glNormal3dv v1
-
-{-# NOINLINE ptr_glNormal3dv #-}
-ptr_glNormal3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glNormal3dv = unsafePerformIO $ getCommand "glNormal3dv"
-
--- glNormal3f ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3fv'.
-glNormal3f
-  :: MonadIO m
-  => GLfloat -- ^ @nx@ of type @CoordF@.
-  -> GLfloat -- ^ @ny@ of type @CoordF@.
-  -> GLfloat -- ^ @nz@ of type @CoordF@.
-  -> m ()
-glNormal3f v1 v2 v3 = liftIO $ dyn41 ptr_glNormal3f v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3f #-}
-ptr_glNormal3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glNormal3f = unsafePerformIO $ getCommand "glNormal3f"
-
--- glNormal3fVertex3fSUN -------------------------------------------------------
-
-glNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn99 ptr_glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glNormal3fVertex3fSUN #-}
-ptr_glNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fSUN"
-
--- glNormal3fVertex3fvSUN ------------------------------------------------------
-
-glNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glNormal3fVertex3fvSUN v1 v2 = liftIO $ dyn100 ptr_glNormal3fVertex3fvSUN v1 v2
-
-{-# NOINLINE ptr_glNormal3fVertex3fvSUN #-}
-ptr_glNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fvSUN"
-
--- glNormal3fv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
-glNormal3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glNormal3fv v1 = liftIO $ dyn42 ptr_glNormal3fv v1
-
-{-# NOINLINE ptr_glNormal3fv #-}
-ptr_glNormal3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glNormal3fv = unsafePerformIO $ getCommand "glNormal3fv"
 
diff --git a/src/Graphics/GL/Functions/F19.hs b/src/Graphics/GL/Functions/F19.hs
--- a/src/Graphics/GL/Functions/F19.hs
+++ b/src/Graphics/GL/Functions/F19.hs
@@ -15,6 +15,11 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F19 (
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fVertex3fSUN,
+  glNormal3fVertex3fvSUN,
+  glNormal3fv,
   glNormal3hNV,
   glNormal3hvNV,
   glNormal3i,
@@ -109,12 +114,7 @@
   glPointAlongPathNV,
   glPointParameterf,
   glPointParameterfARB,
-  glPointParameterfEXT,
-  glPointParameterfSGIS,
-  glPointParameterfv,
-  glPointParameterfvARB,
-  glPointParameterfvEXT,
-  glPointParameterfvSGIS
+  glPointParameterfEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,77 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glNormal3dv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
+glNormal3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glNormal3dv v1 = liftIO $ dyn40 ptr_glNormal3dv v1
+
+{-# NOINLINE ptr_glNormal3dv #-}
+ptr_glNormal3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glNormal3dv = unsafePerformIO $ getCommand "glNormal3dv"
+
+-- glNormal3f ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3fv'.
+glNormal3f
+  :: MonadIO m
+  => GLfloat -- ^ @nx@ of type @CoordF@.
+  -> GLfloat -- ^ @ny@ of type @CoordF@.
+  -> GLfloat -- ^ @nz@ of type @CoordF@.
+  -> m ()
+glNormal3f v1 v2 v3 = liftIO $ dyn41 ptr_glNormal3f v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3f #-}
+ptr_glNormal3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glNormal3f = unsafePerformIO $ getCommand "glNormal3f"
+
+-- glNormal3fVertex3fSUN -------------------------------------------------------
+
+glNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn99 ptr_glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glNormal3fVertex3fSUN #-}
+ptr_glNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fSUN"
+
+-- glNormal3fVertex3fvSUN ------------------------------------------------------
+
+glNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glNormal3fVertex3fvSUN v1 v2 = liftIO $ dyn100 ptr_glNormal3fVertex3fvSUN v1 v2
+
+{-# NOINLINE ptr_glNormal3fVertex3fvSUN #-}
+ptr_glNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fvSUN"
+
+-- glNormal3fv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
+glNormal3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glNormal3fv v1 = liftIO $ dyn42 ptr_glNormal3fv v1
+
+{-# NOINLINE ptr_glNormal3fv #-}
+ptr_glNormal3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glNormal3fv = unsafePerformIO $ getCommand "glNormal3fv"
+
 -- glNormal3hNV ----------------------------------------------------------------
 
 -- | The vector equivalent of this command is 'glNormal3hvNV'.
@@ -253,7 +324,7 @@
   => GLenum -- ^ @type@.
   -> GLsizei -- ^ @stride@.
   -> m ()
-glNormalFormatNV v1 v2 = liftIO $ dyn242 ptr_glNormalFormatNV v1 v2
+glNormalFormatNV v1 v2 = liftIO $ dyn243 ptr_glNormalFormatNV v1 v2
 
 {-# NOINLINE ptr_glNormalFormatNV #-}
 ptr_glNormalFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
@@ -263,7 +334,7 @@
 
 glNormalP3ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glNormalP3ui v1 v2 = liftIO $ dyn17 ptr_glNormalP3ui v1 v2
@@ -276,7 +347,7 @@
 
 glNormalP3uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glNormalP3uiv v1 v2 = liftIO $ dyn128 ptr_glNormalP3uiv v1 v2
@@ -309,7 +380,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride,count)@ elements of type @a@.
   -> m ()
-glNormalPointerEXT v1 v2 v3 v4 = liftIO $ dyn484 ptr_glNormalPointerEXT v1 v2 v3 v4
+glNormalPointerEXT v1 v2 v3 v4 = liftIO $ dyn485 ptr_glNormalPointerEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNormalPointerEXT #-}
 ptr_glNormalPointerEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
@@ -324,7 +395,7 @@
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
   -> GLint -- ^ @ptrstride@.
   -> m ()
-glNormalPointerListIBM v1 v2 v3 v4 = liftIO $ dyn284 ptr_glNormalPointerListIBM v1 v2 v3 v4
+glNormalPointerListIBM v1 v2 v3 v4 = liftIO $ dyn285 ptr_glNormalPointerListIBM v1 v2 v3 v4
 
 {-# NOINLINE ptr_glNormalPointerListIBM #-}
 ptr_glNormalPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
@@ -337,7 +408,7 @@
   => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
   -> m ()
-glNormalPointervINTEL v1 v2 = liftIO $ dyn272 ptr_glNormalPointervINTEL v1 v2
+glNormalPointervINTEL v1 v2 = liftIO $ dyn273 ptr_glNormalPointervINTEL v1 v2
 
 {-# NOINLINE ptr_glNormalPointervINTEL #-}
 ptr_glNormalPointervINTEL :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
@@ -488,7 +559,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glObjectLabel.xhtml OpenGL 4.x>.
 glObjectLabel
   :: MonadIO m
-  => GLenum -- ^ @identifier@.
+  => GLenum -- ^ @identifier@ of type [ObjectIdentifier](Graphics-GL-Groups.html#ObjectIdentifier).
   -> GLuint -- ^ @name@.
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @label@ pointing to @COMPSIZE(label,length)@ elements of type @GLchar@.
@@ -504,7 +575,7 @@
 -- | This command is an alias for 'glObjectLabel'.
 glObjectLabelKHR
   :: MonadIO m
-  => GLenum -- ^ @identifier@.
+  => GLenum -- ^ @identifier@ of type [ObjectIdentifier](Graphics-GL-Groups.html#ObjectIdentifier).
   -> GLuint -- ^ @name@.
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @label@.
@@ -585,7 +656,7 @@
   -> GLdouble -- ^ @zNear@.
   -> GLdouble -- ^ @zFar@.
   -> m ()
-glOrtho v1 v2 v3 v4 v5 v6 = liftIO $ dyn302 ptr_glOrtho v1 v2 v3 v4 v5 v6
+glOrtho v1 v2 v3 v4 v5 v6 = liftIO $ dyn303 ptr_glOrtho v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glOrtho #-}
 ptr_glOrtho :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -636,7 +707,7 @@
   -> GLfixed -- ^ @n@.
   -> GLfixed -- ^ @f@.
   -> m ()
-glOrthox v1 v2 v3 v4 v5 v6 = liftIO $ dyn303 ptr_glOrthox v1 v2 v3 v4 v5 v6
+glOrthox v1 v2 v3 v4 v5 v6 = liftIO $ dyn304 ptr_glOrthox v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glOrthox #-}
 ptr_glOrthox :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
@@ -653,7 +724,7 @@
   -> GLfixed -- ^ @n@.
   -> GLfixed -- ^ @f@.
   -> m ()
-glOrthoxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn303 ptr_glOrthoxOES v1 v2 v3 v4 v5 v6
+glOrthoxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn304 ptr_glOrthoxOES v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glOrthoxOES #-}
 ptr_glOrthoxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
@@ -729,7 +800,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml OpenGL 4.x>.
 glPatchParameterfv
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [PatchParameterName](Graphics-GL-Groups.html#PatchParameterName).
   -> Ptr GLfloat -- ^ @values@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
 glPatchParameterfv v1 v2 = liftIO $ dyn97 ptr_glPatchParameterfv v1 v2
@@ -743,7 +814,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml OpenGL 4.x>.
 glPatchParameteri
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [PatchParameterName](Graphics-GL-Groups.html#PatchParameterName).
   -> GLint -- ^ @value@.
   -> m ()
 glPatchParameteri v1 v2 = liftIO $ dyn56 ptr_glPatchParameteri v1 v2
@@ -757,7 +828,7 @@
 -- | This command is an alias for 'glPatchParameteri'.
 glPatchParameteriEXT
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [PatchParameterName](Graphics-GL-Groups.html#PatchParameterName).
   -> GLint -- ^ @value@.
   -> m ()
 glPatchParameteriEXT v1 v2 = liftIO $ dyn56 ptr_glPatchParameteriEXT v1 v2
@@ -771,7 +842,7 @@
 -- | This command is an alias for 'glPatchParameteri'.
 glPatchParameteriOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [PatchParameterName](Graphics-GL-Groups.html#PatchParameterName).
   -> GLint -- ^ @value@.
   -> m ()
 glPatchParameteriOES v1 v2 = liftIO $ dyn56 ptr_glPatchParameteriOES v1 v2
@@ -784,12 +855,12 @@
 
 glPathColorGenNV
   :: MonadIO m
-  => GLenum -- ^ @color@ of type @PathColor@.
-  -> GLenum -- ^ @genMode@ of type @PathGenMode@.
+  => GLenum -- ^ @color@ of type [PathColor](Graphics-GL-Groups.html#PathColor).
+  -> GLenum -- ^ @genMode@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
   -> GLenum -- ^ @colorFormat@ of type @PathColorFormat@.
   -> Ptr GLfloat -- ^ @coeffs@ pointing to @COMPSIZE(genMode,colorFormat)@ elements of type @GLfloat@.
   -> m ()
-glPathColorGenNV v1 v2 v3 v4 = liftIO $ dyn327 ptr_glPathColorGenNV v1 v2 v3 v4
+glPathColorGenNV v1 v2 v3 v4 = liftIO $ dyn328 ptr_glPathColorGenNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glPathColorGenNV #-}
 ptr_glPathColorGenNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -847,7 +918,7 @@
   -> GLsizei -- ^ @dashCount@.
   -> Ptr GLfloat -- ^ @dashArray@ pointing to @dashCount@ elements of type @GLfloat@.
   -> m ()
-glPathDashArrayNV v1 v2 v3 = liftIO $ dyn221 ptr_glPathDashArrayNV v1 v2 v3
+glPathDashArrayNV v1 v2 v3 = liftIO $ dyn222 ptr_glPathDashArrayNV v1 v2 v3
 
 {-# NOINLINE ptr_glPathDashArrayNV #-}
 ptr_glPathDashArrayNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -857,7 +928,7 @@
 
 glPathFogGenNV
   :: MonadIO m
-  => GLenum -- ^ @genMode@ of type @PathGenMode@.
+  => GLenum -- ^ @genMode@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
   -> m ()
 glPathFogGenNV v1 = liftIO $ dyn5 ptr_glPathFogGenNV v1
 
@@ -872,7 +943,7 @@
   => GLuint -- ^ @firstPathName@.
   -> GLenum -- ^ @fontTarget@.
   -> Ptr a -- ^ @fontName@.
-  -> GLbitfield -- ^ @fontStyle@.
+  -> GLbitfield -- ^ @fontStyle@ of type [PathFontStyle](Graphics-GL-Groups.html#PathFontStyle).
   -> GLuint -- ^ @firstGlyphIndex@.
   -> GLsizei -- ^ @numGlyphs@.
   -> GLuint -- ^ @pathParameterTemplate@.
@@ -890,7 +961,7 @@
   :: MonadIO m
   => GLenum -- ^ @fontTarget@.
   -> Ptr a -- ^ @fontName@.
-  -> GLbitfield -- ^ @fontStyle@.
+  -> GLbitfield -- ^ @fontStyle@ of type [PathFontStyle](Graphics-GL-Groups.html#PathFontStyle).
   -> GLuint -- ^ @pathParameterTemplate@.
   -> GLfloat -- ^ @emScale@.
   -> Ptr GLuint -- ^ @baseAndCount@.
@@ -906,12 +977,12 @@
 glPathGlyphRangeNV
   :: MonadIO m
   => GLuint -- ^ @firstPathName@ of type @Path@.
-  -> GLenum -- ^ @fontTarget@ of type @PathFontTarget@.
+  -> GLenum -- ^ @fontTarget@ of type [PathFontTarget](Graphics-GL-Groups.html#PathFontTarget).
   -> Ptr a -- ^ @fontName@ pointing to @COMPSIZE(fontTarget,fontName)@ elements of type @a@.
-  -> GLbitfield -- ^ @fontStyle@ of type @PathFontStyle@.
+  -> GLbitfield -- ^ @fontStyle@ of type [PathFontStyle](Graphics-GL-Groups.html#PathFontStyle).
   -> GLuint -- ^ @firstGlyph@.
   -> GLsizei -- ^ @numGlyphs@.
-  -> GLenum -- ^ @handleMissingGlyphs@ of type @PathHandleMissingGlyphs@.
+  -> GLenum -- ^ @handleMissingGlyphs@ of type [PathHandleMissingGlyphs](Graphics-GL-Groups.html#PathHandleMissingGlyphs).
   -> GLuint -- ^ @pathParameterTemplate@ of type @Path@.
   -> GLfloat -- ^ @emScale@.
   -> m ()
@@ -926,13 +997,13 @@
 glPathGlyphsNV
   :: MonadIO m
   => GLuint -- ^ @firstPathName@ of type @Path@.
-  -> GLenum -- ^ @fontTarget@ of type @PathFontTarget@.
+  -> GLenum -- ^ @fontTarget@ of type [PathFontTarget](Graphics-GL-Groups.html#PathFontTarget).
   -> Ptr a -- ^ @fontName@ pointing to @COMPSIZE(fontTarget,fontName)@ elements of type @a@.
-  -> GLbitfield -- ^ @fontStyle@ of type @PathFontStyle@.
+  -> GLbitfield -- ^ @fontStyle@ of type [PathFontStyle](Graphics-GL-Groups.html#PathFontStyle).
   -> GLsizei -- ^ @numGlyphs@.
-  -> GLenum -- ^ @type@ of type @PathElementType@.
+  -> GLenum -- ^ @type@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
   -> Ptr b -- ^ @charcodes@ pointing to @COMPSIZE(numGlyphs,type,charcodes)@ elements of type @b@.
-  -> GLenum -- ^ @handleMissingGlyphs@ of type @PathHandleMissingGlyphs@.
+  -> GLenum -- ^ @handleMissingGlyphs@ of type [PathHandleMissingGlyphs](Graphics-GL-Groups.html#PathHandleMissingGlyphs).
   -> GLuint -- ^ @pathParameterTemplate@ of type @Path@.
   -> GLfloat -- ^ @emScale@.
   -> m ()
@@ -967,7 +1038,7 @@
 glPathParameterfNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
   -> GLfloat -- ^ @value@.
   -> m ()
 glPathParameterfNV v1 v2 v3 = liftIO $ dyn505 ptr_glPathParameterfNV v1 v2 v3
@@ -981,10 +1052,10 @@
 glPathParameterfvNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
   -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glPathParameterfvNV v1 v2 v3 = liftIO $ dyn357 ptr_glPathParameterfvNV v1 v2 v3
+glPathParameterfvNV v1 v2 v3 = liftIO $ dyn358 ptr_glPathParameterfvNV v1 v2 v3
 
 {-# NOINLINE ptr_glPathParameterfvNV #-}
 ptr_glPathParameterfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -995,10 +1066,10 @@
 glPathParameteriNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
   -> GLint -- ^ @value@.
   -> m ()
-glPathParameteriNV v1 v2 v3 = liftIO $ dyn481 ptr_glPathParameteriNV v1 v2 v3
+glPathParameteriNV v1 v2 v3 = liftIO $ dyn482 ptr_glPathParameteriNV v1 v2 v3
 
 {-# NOINLINE ptr_glPathParameteriNV #-}
 ptr_glPathParameteriNV :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1009,10 +1080,10 @@
 glPathParameterivNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLenum -- ^ @pname@ of type [PathParameter](Graphics-GL-Groups.html#PathParameter).
   -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glPathParameterivNV v1 v2 v3 = liftIO $ dyn341 ptr_glPathParameterivNV v1 v2 v3
+glPathParameterivNV v1 v2 v3 = liftIO $ dyn342 ptr_glPathParameterivNV v1 v2 v3
 
 {-# NOINLINE ptr_glPathParameterivNV #-}
 ptr_glPathParameterivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1025,7 +1096,7 @@
   => GLfloat -- ^ @factor@.
   -> GLfloat -- ^ @units@.
   -> m ()
-glPathStencilDepthOffsetNV v1 v2 = liftIO $ dyn225 ptr_glPathStencilDepthOffsetNV v1 v2
+glPathStencilDepthOffsetNV v1 v2 = liftIO $ dyn226 ptr_glPathStencilDepthOffsetNV v1 v2
 
 {-# NOINLINE ptr_glPathStencilDepthOffsetNV #-}
 ptr_glPathStencilDepthOffsetNV :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -1050,7 +1121,7 @@
 glPathStringNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @format@ of type @PathStringFormat@.
+  -> GLenum -- ^ @format@ of type [PathStringFormat](Graphics-GL-Groups.html#PathStringFormat).
   -> GLsizei -- ^ @length@.
   -> Ptr a -- ^ @pathString@ pointing to @length@ elements of type @a@.
   -> m ()
@@ -1099,8 +1170,8 @@
 
 glPathTexGenNV
   :: MonadIO m
-  => GLenum -- ^ @texCoordSet@ of type @PathColor@.
-  -> GLenum -- ^ @genMode@ of type @PathGenMode@.
+  => GLenum -- ^ @texCoordSet@ of type [PathColor](Graphics-GL-Groups.html#PathColor).
+  -> GLenum -- ^ @genMode@ of type [PathGenMode](Graphics-GL-Groups.html#PathGenMode).
   -> GLint -- ^ @components@.
   -> Ptr GLfloat -- ^ @coeffs@ pointing to @COMPSIZE(genMode,components)@ elements of type @GLfloat@.
   -> m ()
@@ -1157,7 +1228,7 @@
   -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
   -> Ptr GLfloat -- ^ @values@ pointing to @mapsize@ elements of type @GLfloat@.
   -> m ()
-glPixelMapfv v1 v2 v3 = liftIO $ dyn228 ptr_glPixelMapfv v1 v2 v3
+glPixelMapfv v1 v2 v3 = liftIO $ dyn229 ptr_glPixelMapfv v1 v2 v3
 
 {-# NOINLINE ptr_glPixelMapfv #-}
 ptr_glPixelMapfv :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1187,7 +1258,7 @@
   -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
   -> Ptr GLushort -- ^ @values@ pointing to @mapsize@ elements of type @GLushort@.
   -> m ()
-glPixelMapusv v1 v2 v3 = liftIO $ dyn464 ptr_glPixelMapusv v1 v2 v3
+glPixelMapusv v1 v2 v3 = liftIO $ dyn465 ptr_glPixelMapusv v1 v2 v3
 
 {-# NOINLINE ptr_glPixelMapusv #-}
 ptr_glPixelMapusv :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
@@ -1197,11 +1268,11 @@
 
 glPixelMapx
   :: MonadIO m
-  => GLenum -- ^ @map@.
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
   -> GLint -- ^ @size@.
   -> Ptr GLfixed -- ^ @values@ pointing to @size@ elements of type @GLfixed@.
   -> m ()
-glPixelMapx v1 v2 v3 = liftIO $ dyn399 ptr_glPixelMapx v1 v2 v3
+glPixelMapx v1 v2 v3 = liftIO $ dyn400 ptr_glPixelMapx v1 v2 v3
 
 {-# NOINLINE ptr_glPixelMapx #-}
 ptr_glPixelMapx :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
@@ -1239,7 +1310,7 @@
 
 glPixelStorex
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-GL-Groups.html#PixelStoreParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glPixelStorex v1 v2 = liftIO $ dyn1 ptr_glPixelStorex v1 v2
@@ -1344,7 +1415,7 @@
 
 glPixelTransferxOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-GL-Groups.html#PixelTransferParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glPixelTransferxOES v1 v2 = liftIO $ dyn1 ptr_glPixelTransferxOES v1 v2
@@ -1417,7 +1488,7 @@
   => GLfloat -- ^ @xfactor@.
   -> GLfloat -- ^ @yfactor@.
   -> m ()
-glPixelZoom v1 v2 = liftIO $ dyn225 ptr_glPixelZoom v1 v2
+glPixelZoom v1 v2 = liftIO $ dyn226 ptr_glPixelZoom v1 v2
 
 {-# NOINLINE ptr_glPixelZoom #-}
 ptr_glPixelZoom :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -1430,7 +1501,7 @@
   => GLfixed -- ^ @xfactor@.
   -> GLfixed -- ^ @yfactor@.
   -> m ()
-glPixelZoomxOES v1 v2 = liftIO $ dyn227 ptr_glPixelZoomxOES v1 v2
+glPixelZoomxOES v1 v2 = liftIO $ dyn228 ptr_glPixelZoomxOES v1 v2
 
 {-# NOINLINE ptr_glPixelZoomxOES #-}
 ptr_glPixelZoomxOES :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -1496,74 +1567,4 @@
 {-# NOINLINE ptr_glPointParameterfEXT #-}
 ptr_glPointParameterfEXT :: FunPtr (GLenum -> GLfloat -> IO ())
 ptr_glPointParameterfEXT = unsafePerformIO $ getCommand "glPointParameterfEXT"
-
--- glPointParameterfSGIS -------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterf'.
-glPointParameterfSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfSGIS v1 v2 = liftIO $ dyn0 ptr_glPointParameterfSGIS v1 v2
-
-{-# NOINLINE ptr_glPointParameterfSGIS #-}
-ptr_glPointParameterfSGIS :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPointParameterfSGIS = unsafePerformIO $ getCommand "glPointParameterfSGIS"
-
--- glPointParameterfv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
-glPointParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfv v1 v2 = liftIO $ dyn97 ptr_glPointParameterfv v1 v2
-
-{-# NOINLINE ptr_glPointParameterfv #-}
-ptr_glPointParameterfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfv = unsafePerformIO $ getCommand "glPointParameterfv"
-
--- glPointParameterfvARB -------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterfv'.
-glPointParameterfvARB
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfvARB v1 v2 = liftIO $ dyn97 ptr_glPointParameterfvARB v1 v2
-
-{-# NOINLINE ptr_glPointParameterfvARB #-}
-ptr_glPointParameterfvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfvARB = unsafePerformIO $ getCommand "glPointParameterfvARB"
-
--- glPointParameterfvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterfv'.
-glPointParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfvEXT v1 v2 = liftIO $ dyn97 ptr_glPointParameterfvEXT v1 v2
-
-{-# NOINLINE ptr_glPointParameterfvEXT #-}
-ptr_glPointParameterfvEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfvEXT = unsafePerformIO $ getCommand "glPointParameterfvEXT"
-
--- glPointParameterfvSGIS ------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterfv'.
-glPointParameterfvSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfvSGIS v1 v2 = liftIO $ dyn97 ptr_glPointParameterfvSGIS v1 v2
-
-{-# NOINLINE ptr_glPointParameterfvSGIS #-}
-ptr_glPointParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfvSGIS = unsafePerformIO $ getCommand "glPointParameterfvSGIS"
 
diff --git a/src/Graphics/GL/Functions/F20.hs b/src/Graphics/GL/Functions/F20.hs
--- a/src/Graphics/GL/Functions/F20.hs
+++ b/src/Graphics/GL/Functions/F20.hs
@@ -15,6 +15,11 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F20 (
+  glPointParameterfSGIS,
+  glPointParameterfv,
+  glPointParameterfvARB,
+  glPointParameterfvEXT,
+  glPointParameterfvSGIS,
   glPointParameteri,
   glPointParameteriNV,
   glPointParameteriv,
@@ -32,6 +37,7 @@
   glPolygonMode,
   glPolygonModeNV,
   glPolygonOffset,
+  glPolygonOffsetClamp,
   glPolygonOffsetClampEXT,
   glPolygonOffsetEXT,
   glPolygonOffsetx,
@@ -108,13 +114,7 @@
   glProgramUniform1fv,
   glProgramUniform1fvEXT,
   glProgramUniform1i,
-  glProgramUniform1i64ARB,
-  glProgramUniform1i64NV,
-  glProgramUniform1i64vARB,
-  glProgramUniform1i64vNV,
-  glProgramUniform1iEXT,
-  glProgramUniform1iv,
-  glProgramUniform1ivEXT
+  glProgramUniform1i64ARB
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,76 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glPointParameterfSGIS -------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterf'.
+glPointParameterfSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfSGIS v1 v2 = liftIO $ dyn0 ptr_glPointParameterfSGIS v1 v2
+
+{-# NOINLINE ptr_glPointParameterfSGIS #-}
+ptr_glPointParameterfSGIS :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPointParameterfSGIS = unsafePerformIO $ getCommand "glPointParameterfSGIS"
+
+-- glPointParameterfv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
+glPointParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfv v1 v2 = liftIO $ dyn97 ptr_glPointParameterfv v1 v2
+
+{-# NOINLINE ptr_glPointParameterfv #-}
+ptr_glPointParameterfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfv = unsafePerformIO $ getCommand "glPointParameterfv"
+
+-- glPointParameterfvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterfv'.
+glPointParameterfvARB
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfvARB v1 v2 = liftIO $ dyn97 ptr_glPointParameterfvARB v1 v2
+
+{-# NOINLINE ptr_glPointParameterfvARB #-}
+ptr_glPointParameterfvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfvARB = unsafePerformIO $ getCommand "glPointParameterfvARB"
+
+-- glPointParameterfvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterfv'.
+glPointParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfvEXT v1 v2 = liftIO $ dyn97 ptr_glPointParameterfvEXT v1 v2
+
+{-# NOINLINE ptr_glPointParameterfvEXT #-}
+ptr_glPointParameterfvEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfvEXT = unsafePerformIO $ getCommand "glPointParameterfvEXT"
+
+-- glPointParameterfvSGIS ------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterfv'.
+glPointParameterfvSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfvSGIS v1 v2 = liftIO $ dyn97 ptr_glPointParameterfvSGIS v1 v2
+
+{-# NOINLINE ptr_glPointParameterfvSGIS #-}
+ptr_glPointParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfvSGIS = unsafePerformIO $ getCommand "glPointParameterfvSGIS"
+
 -- glPointParameteri -----------------------------------------------------------
 
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
@@ -183,7 +253,7 @@
 
 glPointParameterx
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
   -> GLfixed -- ^ @param@.
   -> m ()
 glPointParameterx v1 v2 = liftIO $ dyn1 ptr_glPointParameterx v1 v2
@@ -196,7 +266,7 @@
 
 glPointParameterxOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
   -> GLfixed -- ^ @param@.
   -> m ()
 glPointParameterxOES v1 v2 = liftIO $ dyn1 ptr_glPointParameterxOES v1 v2
@@ -209,7 +279,7 @@
 
 glPointParameterxv
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glPointParameterxv v1 v2 = liftIO $ dyn98 ptr_glPointParameterxv v1 v2
@@ -222,7 +292,7 @@
 
 glPointParameterxvOES
   :: MonadIO m
-  => GLenum -- ^ @pname@.
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glPointParameterxvOES v1 v2 = liftIO $ dyn98 ptr_glPointParameterxvOES v1 v2
@@ -288,7 +358,7 @@
   :: MonadIO m
   => Ptr GLuint -- ^ @markerp@ pointing to @1@ element of type @GLuint@.
   -> m GLint
-glPollAsyncSGIX v1 = liftIO $ dyn281 ptr_glPollAsyncSGIX v1
+glPollAsyncSGIX v1 = liftIO $ dyn282 ptr_glPollAsyncSGIX v1
 
 {-# NOINLINE ptr_glPollAsyncSGIX #-}
 ptr_glPollAsyncSGIX :: FunPtr (Ptr GLuint -> IO GLint)
@@ -342,14 +412,29 @@
   => GLfloat -- ^ @factor@.
   -> GLfloat -- ^ @units@.
   -> m ()
-glPolygonOffset v1 v2 = liftIO $ dyn225 ptr_glPolygonOffset v1 v2
+glPolygonOffset v1 v2 = liftIO $ dyn226 ptr_glPolygonOffset v1 v2
 
 {-# NOINLINE ptr_glPolygonOffset #-}
 ptr_glPolygonOffset :: FunPtr (GLfloat -> GLfloat -> IO ())
 ptr_glPolygonOffset = unsafePerformIO $ getCommand "glPolygonOffset"
 
+-- glPolygonOffsetClamp --------------------------------------------------------
+
+glPolygonOffsetClamp
+  :: MonadIO m
+  => GLfloat -- ^ @factor@.
+  -> GLfloat -- ^ @units@.
+  -> GLfloat -- ^ @clamp@.
+  -> m ()
+glPolygonOffsetClamp v1 v2 v3 = liftIO $ dyn41 ptr_glPolygonOffsetClamp v1 v2 v3
+
+{-# NOINLINE ptr_glPolygonOffsetClamp #-}
+ptr_glPolygonOffsetClamp :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glPolygonOffsetClamp = unsafePerformIO $ getCommand "glPolygonOffsetClamp"
+
 -- glPolygonOffsetClampEXT -----------------------------------------------------
 
+-- | This command is an alias for 'glPolygonOffsetClamp'.
 glPolygonOffsetClampEXT
   :: MonadIO m
   => GLfloat -- ^ @factor@.
@@ -369,7 +454,7 @@
   => GLfloat -- ^ @factor@.
   -> GLfloat -- ^ @bias@.
   -> m ()
-glPolygonOffsetEXT v1 v2 = liftIO $ dyn225 ptr_glPolygonOffsetEXT v1 v2
+glPolygonOffsetEXT v1 v2 = liftIO $ dyn226 ptr_glPolygonOffsetEXT v1 v2
 
 {-# NOINLINE ptr_glPolygonOffsetEXT #-}
 ptr_glPolygonOffsetEXT :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -382,7 +467,7 @@
   => GLfixed -- ^ @factor@.
   -> GLfixed -- ^ @units@.
   -> m ()
-glPolygonOffsetx v1 v2 = liftIO $ dyn227 ptr_glPolygonOffsetx v1 v2
+glPolygonOffsetx v1 v2 = liftIO $ dyn228 ptr_glPolygonOffsetx v1 v2
 
 {-# NOINLINE ptr_glPolygonOffsetx #-}
 ptr_glPolygonOffsetx :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -395,7 +480,7 @@
   => GLfixed -- ^ @factor@.
   -> GLfixed -- ^ @units@.
   -> m ()
-glPolygonOffsetxOES v1 v2 = liftIO $ dyn227 ptr_glPolygonOffsetxOES v1 v2
+glPolygonOffsetxOES v1 v2 = liftIO $ dyn228 ptr_glPolygonOffsetxOES v1 v2
 
 {-# NOINLINE ptr_glPolygonOffsetxOES #-}
 ptr_glPolygonOffsetxOES :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -808,7 +893,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glProgramEnvParameter4dvARB v1 v2 v3 = liftIO $ dyn337 ptr_glProgramEnvParameter4dvARB v1 v2 v3
+glProgramEnvParameter4dvARB v1 v2 v3 = liftIO $ dyn338 ptr_glProgramEnvParameter4dvARB v1 v2 v3
 
 {-# NOINLINE ptr_glProgramEnvParameter4dvARB #-}
 ptr_glProgramEnvParameter4dvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -840,7 +925,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glProgramEnvParameter4fvARB v1 v2 v3 = liftIO $ dyn271 ptr_glProgramEnvParameter4fvARB v1 v2 v3
+glProgramEnvParameter4fvARB v1 v2 v3 = liftIO $ dyn272 ptr_glProgramEnvParameter4fvARB v1 v2 v3
 
 {-# NOINLINE ptr_glProgramEnvParameter4fvARB #-}
 ptr_glProgramEnvParameter4fvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -872,7 +957,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glProgramEnvParameterI4ivNV v1 v2 v3 = liftIO $ dyn350 ptr_glProgramEnvParameterI4ivNV v1 v2 v3
+glProgramEnvParameterI4ivNV v1 v2 v3 = liftIO $ dyn351 ptr_glProgramEnvParameterI4ivNV v1 v2 v3
 
 {-# NOINLINE ptr_glProgramEnvParameterI4ivNV #-}
 ptr_glProgramEnvParameterI4ivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -919,7 +1004,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glProgramEnvParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn290 ptr_glProgramEnvParameters4fvEXT v1 v2 v3 v4
+glProgramEnvParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn291 ptr_glProgramEnvParameters4fvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramEnvParameters4fvEXT #-}
 ptr_glProgramEnvParameters4fvEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -981,7 +1066,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glProgramLocalParameter4dvARB v1 v2 v3 = liftIO $ dyn337 ptr_glProgramLocalParameter4dvARB v1 v2 v3
+glProgramLocalParameter4dvARB v1 v2 v3 = liftIO $ dyn338 ptr_glProgramLocalParameter4dvARB v1 v2 v3
 
 {-# NOINLINE ptr_glProgramLocalParameter4dvARB #-}
 ptr_glProgramLocalParameter4dvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -1013,7 +1098,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glProgramLocalParameter4fvARB v1 v2 v3 = liftIO $ dyn271 ptr_glProgramLocalParameter4fvARB v1 v2 v3
+glProgramLocalParameter4fvARB v1 v2 v3 = liftIO $ dyn272 ptr_glProgramLocalParameter4fvARB v1 v2 v3
 
 {-# NOINLINE ptr_glProgramLocalParameter4fvARB #-}
 ptr_glProgramLocalParameter4fvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -1045,7 +1130,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glProgramLocalParameterI4ivNV v1 v2 v3 = liftIO $ dyn350 ptr_glProgramLocalParameterI4ivNV v1 v2 v3
+glProgramLocalParameterI4ivNV v1 v2 v3 = liftIO $ dyn351 ptr_glProgramLocalParameterI4ivNV v1 v2 v3
 
 {-# NOINLINE ptr_glProgramLocalParameterI4ivNV #-}
 ptr_glProgramLocalParameterI4ivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
@@ -1092,7 +1177,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glProgramLocalParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn290 ptr_glProgramLocalParameters4fvEXT v1 v2 v3 v4
+glProgramLocalParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn291 ptr_glProgramLocalParameters4fvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramLocalParameters4fvEXT #-}
 ptr_glProgramLocalParameters4fvEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1156,7 +1241,7 @@
   -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glProgramNamedParameter4dvNV v1 v2 v3 v4 = liftIO $ dyn402 ptr_glProgramNamedParameter4dvNV v1 v2 v3 v4
+glProgramNamedParameter4dvNV v1 v2 v3 v4 = liftIO $ dyn403 ptr_glProgramNamedParameter4dvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramNamedParameter4dvNV #-}
 ptr_glProgramNamedParameter4dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
@@ -1190,7 +1275,7 @@
   -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glProgramNamedParameter4fvNV v1 v2 v3 v4 = liftIO $ dyn403 ptr_glProgramNamedParameter4fvNV v1 v2 v3 v4
+glProgramNamedParameter4fvNV v1 v2 v3 v4 = liftIO $ dyn404 ptr_glProgramNamedParameter4fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramNamedParameter4fvNV #-}
 ptr_glProgramNamedParameter4fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
@@ -1222,7 +1307,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glProgramParameter4dvNV v1 v2 v3 = liftIO $ dyn337 ptr_glProgramParameter4dvNV v1 v2 v3
+glProgramParameter4dvNV v1 v2 v3 = liftIO $ dyn338 ptr_glProgramParameter4dvNV v1 v2 v3
 
 {-# NOINLINE ptr_glProgramParameter4dvNV #-}
 ptr_glProgramParameter4dvNV :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
@@ -1254,7 +1339,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glProgramParameter4fvNV v1 v2 v3 = liftIO $ dyn271 ptr_glProgramParameter4fvNV v1 v2 v3
+glProgramParameter4fvNV v1 v2 v3 = liftIO $ dyn272 ptr_glProgramParameter4fvNV v1 v2 v3
 
 {-# NOINLINE ptr_glProgramParameter4fvNV #-}
 ptr_glProgramParameter4fvNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -1266,10 +1351,10 @@
 glProgramParameteri
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
+  -> GLenum -- ^ @pname@ of type [ProgramParameterPName](Graphics-GL-Groups.html#ProgramParameterPName).
   -> GLint -- ^ @value@.
   -> m ()
-glProgramParameteri v1 v2 v3 = liftIO $ dyn481 ptr_glProgramParameteri v1 v2 v3
+glProgramParameteri v1 v2 v3 = liftIO $ dyn482 ptr_glProgramParameteri v1 v2 v3
 
 {-# NOINLINE ptr_glProgramParameteri #-}
 ptr_glProgramParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1281,10 +1366,10 @@
 glProgramParameteriARB
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
+  -> GLenum -- ^ @pname@ of type [ProgramParameterPName](Graphics-GL-Groups.html#ProgramParameterPName).
   -> GLint -- ^ @value@.
   -> m ()
-glProgramParameteriARB v1 v2 v3 = liftIO $ dyn481 ptr_glProgramParameteriARB v1 v2 v3
+glProgramParameteriARB v1 v2 v3 = liftIO $ dyn482 ptr_glProgramParameteriARB v1 v2 v3
 
 {-# NOINLINE ptr_glProgramParameteriARB #-}
 ptr_glProgramParameteriARB :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1296,10 +1381,10 @@
 glProgramParameteriEXT
   :: MonadIO m
   => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
+  -> GLenum -- ^ @pname@ of type [ProgramParameterPName](Graphics-GL-Groups.html#ProgramParameterPName).
   -> GLint -- ^ @value@.
   -> m ()
-glProgramParameteriEXT v1 v2 v3 = liftIO $ dyn481 ptr_glProgramParameteriEXT v1 v2 v3
+glProgramParameteriEXT v1 v2 v3 = liftIO $ dyn482 ptr_glProgramParameteriEXT v1 v2 v3
 
 {-# NOINLINE ptr_glProgramParameteriEXT #-}
 ptr_glProgramParameteriEXT :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1329,7 +1414,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glProgramParameters4fvNV v1 v2 v3 v4 = liftIO $ dyn290 ptr_glProgramParameters4fvNV v1 v2 v3 v4
+glProgramParameters4fvNV v1 v2 v3 v4 = liftIO $ dyn291 ptr_glProgramParameters4fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramParameters4fvNV #-}
 ptr_glProgramParameters4fvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1417,7 +1502,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform1dv v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform1dv v1 v2 v3 v4
+glProgramUniform1dv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform1dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform1dv #-}
 ptr_glProgramUniform1dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1432,7 +1517,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform1dvEXT v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform1dvEXT v1 v2 v3 v4
+glProgramUniform1dvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform1dvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform1dvEXT #-}
 ptr_glProgramUniform1dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1478,7 +1563,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform1fv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform1fv v1 v2 v3 v4
+glProgramUniform1fv v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform1fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform1fv #-}
 ptr_glProgramUniform1fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1494,7 +1579,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform1fvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform1fvEXT v1 v2 v3 v4
+glProgramUniform1fvEXT v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform1fvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform1fvEXT #-}
 ptr_glProgramUniform1fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1528,95 +1613,4 @@
 {-# NOINLINE ptr_glProgramUniform1i64ARB #-}
 ptr_glProgramUniform1i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> IO ())
 ptr_glProgramUniform1i64ARB = unsafePerformIO $ getCommand "glProgramUniform1i64ARB"
-
--- glProgramUniform1i64NV ------------------------------------------------------
-
-glProgramUniform1i64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> m ()
-glProgramUniform1i64NV v1 v2 v3 = liftIO $ dyn660 ptr_glProgramUniform1i64NV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1i64NV #-}
-ptr_glProgramUniform1i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
-ptr_glProgramUniform1i64NV = unsafePerformIO $ getCommand "glProgramUniform1i64NV"
-
--- glProgramUniform1i64vARB ----------------------------------------------------
-
-glProgramUniform1i64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count@ elements of type @GLint64@.
-  -> m ()
-glProgramUniform1i64vARB v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform1i64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1i64vARB #-}
-ptr_glProgramUniform1i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glProgramUniform1i64vARB = unsafePerformIO $ getCommand "glProgramUniform1i64vARB"
-
--- glProgramUniform1i64vNV -----------------------------------------------------
-
-glProgramUniform1i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count@ elements of type @GLint64EXT@.
-  -> m ()
-glProgramUniform1i64vNV v1 v2 v3 v4 = liftIO $ dyn661 ptr_glProgramUniform1i64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1i64vNV #-}
-ptr_glProgramUniform1i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glProgramUniform1i64vNV = unsafePerformIO $ getCommand "glProgramUniform1i64vNV"
-
--- glProgramUniform1iEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1i'.
-glProgramUniform1iEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> m ()
-glProgramUniform1iEXT v1 v2 v3 = liftIO $ dyn658 ptr_glProgramUniform1iEXT v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1iEXT #-}
-ptr_glProgramUniform1iEXT :: FunPtr (GLuint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform1iEXT = unsafePerformIO $ getCommand "glProgramUniform1iEXT"
-
--- glProgramUniform1iv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform1iv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count@ elements of type @GLint@.
-  -> m ()
-glProgramUniform1iv v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform1iv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1iv #-}
-ptr_glProgramUniform1iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform1iv = unsafePerformIO $ getCommand "glProgramUniform1iv"
-
--- glProgramUniform1ivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1iv'.
-glProgramUniform1ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count@ elements of type @GLint@.
-  -> m ()
-glProgramUniform1ivEXT v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform1ivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1ivEXT #-}
-ptr_glProgramUniform1ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform1ivEXT = unsafePerformIO $ getCommand "glProgramUniform1ivEXT"
 
diff --git a/src/Graphics/GL/Functions/F21.hs b/src/Graphics/GL/Functions/F21.hs
--- a/src/Graphics/GL/Functions/F21.hs
+++ b/src/Graphics/GL/Functions/F21.hs
@@ -15,6 +15,12 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F21 (
+  glProgramUniform1i64NV,
+  glProgramUniform1i64vARB,
+  glProgramUniform1i64vNV,
+  glProgramUniform1iEXT,
+  glProgramUniform1iv,
+  glProgramUniform1ivEXT,
   glProgramUniform1ui,
   glProgramUniform1ui64ARB,
   glProgramUniform1ui64NV,
@@ -108,13 +114,7 @@
   glProgramUniformMatrix2x3dv,
   glProgramUniformMatrix2x3dvEXT,
   glProgramUniformMatrix2x3fv,
-  glProgramUniformMatrix2x3fvEXT,
-  glProgramUniformMatrix2x4dv,
-  glProgramUniformMatrix2x4dvEXT,
-  glProgramUniformMatrix2x4fv,
-  glProgramUniformMatrix2x4fvEXT,
-  glProgramUniformMatrix3dv,
-  glProgramUniformMatrix3dvEXT
+  glProgramUniformMatrix2x3fvEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,97 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glProgramUniform1i64NV ------------------------------------------------------
+
+glProgramUniform1i64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> m ()
+glProgramUniform1i64NV v1 v2 v3 = liftIO $ dyn660 ptr_glProgramUniform1i64NV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1i64NV #-}
+ptr_glProgramUniform1i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
+ptr_glProgramUniform1i64NV = unsafePerformIO $ getCommand "glProgramUniform1i64NV"
+
+-- glProgramUniform1i64vARB ----------------------------------------------------
+
+glProgramUniform1i64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count@ elements of type @GLint64@.
+  -> m ()
+glProgramUniform1i64vARB v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform1i64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1i64vARB #-}
+ptr_glProgramUniform1i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glProgramUniform1i64vARB = unsafePerformIO $ getCommand "glProgramUniform1i64vARB"
+
+-- glProgramUniform1i64vNV -----------------------------------------------------
+
+glProgramUniform1i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count@ elements of type @GLint64EXT@.
+  -> m ()
+glProgramUniform1i64vNV v1 v2 v3 v4 = liftIO $ dyn661 ptr_glProgramUniform1i64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1i64vNV #-}
+ptr_glProgramUniform1i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glProgramUniform1i64vNV = unsafePerformIO $ getCommand "glProgramUniform1i64vNV"
+
+-- glProgramUniform1iEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1i'.
+glProgramUniform1iEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> m ()
+glProgramUniform1iEXT v1 v2 v3 = liftIO $ dyn658 ptr_glProgramUniform1iEXT v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1iEXT #-}
+ptr_glProgramUniform1iEXT :: FunPtr (GLuint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform1iEXT = unsafePerformIO $ getCommand "glProgramUniform1iEXT"
+
+-- glProgramUniform1iv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform1iv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count@ elements of type @GLint@.
+  -> m ()
+glProgramUniform1iv v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform1iv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1iv #-}
+ptr_glProgramUniform1iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform1iv = unsafePerformIO $ getCommand "glProgramUniform1iv"
+
+-- glProgramUniform1ivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1iv'.
+glProgramUniform1ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count@ elements of type @GLint@.
+  -> m ()
+glProgramUniform1ivEXT v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform1ivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1ivEXT #-}
+ptr_glProgramUniform1ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform1ivEXT = unsafePerformIO $ getCommand "glProgramUniform1ivEXT"
+
 -- glProgramUniform1ui ---------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
@@ -175,7 +266,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
   -> m ()
-glProgramUniform1ui64vARB v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform1ui64vARB v1 v2 v3 v4
+glProgramUniform1ui64vARB v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform1ui64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform1ui64vARB #-}
 ptr_glProgramUniform1ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -221,7 +312,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count@ elements of type @GLuint@.
   -> m ()
-glProgramUniform1uiv v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform1uiv v1 v2 v3 v4
+glProgramUniform1uiv v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform1uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform1uiv #-}
 ptr_glProgramUniform1uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -237,7 +328,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count@ elements of type @GLuint@.
   -> m ()
-glProgramUniform1uivEXT v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform1uivEXT v1 v2 v3 v4
+glProgramUniform1uivEXT v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform1uivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform1uivEXT #-}
 ptr_glProgramUniform1uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -282,7 +373,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*2@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform2dv v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform2dv v1 v2 v3 v4
+glProgramUniform2dv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform2dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2dv #-}
 ptr_glProgramUniform2dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -297,7 +388,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*2@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform2dvEXT v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform2dvEXT v1 v2 v3 v4
+glProgramUniform2dvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform2dvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2dvEXT #-}
 ptr_glProgramUniform2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -345,7 +436,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform2fv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform2fv v1 v2 v3 v4
+glProgramUniform2fv v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform2fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2fv #-}
 ptr_glProgramUniform2fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -361,7 +452,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform2fvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform2fvEXT v1 v2 v3 v4
+glProgramUniform2fvEXT v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform2fvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2fvEXT #-}
 ptr_glProgramUniform2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -422,7 +513,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64 -- ^ @value@ pointing to @count*2@ elements of type @GLint64@.
   -> m ()
-glProgramUniform2i64vARB v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform2i64vARB v1 v2 v3 v4
+glProgramUniform2i64vARB v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform2i64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2i64vARB #-}
 ptr_glProgramUniform2i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
@@ -469,7 +560,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
   -> m ()
-glProgramUniform2iv v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform2iv v1 v2 v3 v4
+glProgramUniform2iv v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform2iv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2iv #-}
 ptr_glProgramUniform2iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -485,7 +576,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
   -> m ()
-glProgramUniform2ivEXT v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform2ivEXT v1 v2 v3 v4
+glProgramUniform2ivEXT v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform2ivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2ivEXT #-}
 ptr_glProgramUniform2ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -546,7 +637,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count*2@ elements of type @GLuint64@.
   -> m ()
-glProgramUniform2ui64vARB v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform2ui64vARB v1 v2 v3 v4
+glProgramUniform2ui64vARB v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform2ui64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2ui64vARB #-}
 ptr_glProgramUniform2ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -593,7 +684,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
   -> m ()
-glProgramUniform2uiv v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform2uiv v1 v2 v3 v4
+glProgramUniform2uiv v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform2uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2uiv #-}
 ptr_glProgramUniform2uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -609,7 +700,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
   -> m ()
-glProgramUniform2uivEXT v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform2uivEXT v1 v2 v3 v4
+glProgramUniform2uivEXT v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform2uivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform2uivEXT #-}
 ptr_glProgramUniform2uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -656,7 +747,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*3@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform3dv v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform3dv v1 v2 v3 v4
+glProgramUniform3dv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform3dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3dv #-}
 ptr_glProgramUniform3dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -671,7 +762,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*3@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform3dvEXT v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform3dvEXT v1 v2 v3 v4
+glProgramUniform3dvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform3dvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3dvEXT #-}
 ptr_glProgramUniform3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -721,7 +812,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform3fv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform3fv v1 v2 v3 v4
+glProgramUniform3fv v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform3fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3fv #-}
 ptr_glProgramUniform3fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -737,7 +828,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform3fvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform3fvEXT v1 v2 v3 v4
+glProgramUniform3fvEXT v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform3fvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3fvEXT #-}
 ptr_glProgramUniform3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -801,7 +892,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64 -- ^ @value@ pointing to @count*3@ elements of type @GLint64@.
   -> m ()
-glProgramUniform3i64vARB v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform3i64vARB v1 v2 v3 v4
+glProgramUniform3i64vARB v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform3i64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3i64vARB #-}
 ptr_glProgramUniform3i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
@@ -849,7 +940,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
   -> m ()
-glProgramUniform3iv v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform3iv v1 v2 v3 v4
+glProgramUniform3iv v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform3iv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3iv #-}
 ptr_glProgramUniform3iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -865,7 +956,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
   -> m ()
-glProgramUniform3ivEXT v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform3ivEXT v1 v2 v3 v4
+glProgramUniform3ivEXT v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform3ivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3ivEXT #-}
 ptr_glProgramUniform3ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -929,7 +1020,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count*3@ elements of type @GLuint64@.
   -> m ()
-glProgramUniform3ui64vARB v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform3ui64vARB v1 v2 v3 v4
+glProgramUniform3ui64vARB v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform3ui64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3ui64vARB #-}
 ptr_glProgramUniform3ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -977,7 +1068,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
   -> m ()
-glProgramUniform3uiv v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform3uiv v1 v2 v3 v4
+glProgramUniform3uiv v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform3uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3uiv #-}
 ptr_glProgramUniform3uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -993,7 +1084,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
   -> m ()
-glProgramUniform3uivEXT v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform3uivEXT v1 v2 v3 v4
+glProgramUniform3uivEXT v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform3uivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform3uivEXT #-}
 ptr_glProgramUniform3uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1042,7 +1133,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform4dv v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform4dv v1 v2 v3 v4
+glProgramUniform4dv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform4dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4dv #-}
 ptr_glProgramUniform4dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1057,7 +1148,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
   -> m ()
-glProgramUniform4dvEXT v1 v2 v3 v4 = liftIO $ dyn468 ptr_glProgramUniform4dvEXT v1 v2 v3 v4
+glProgramUniform4dvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform4dvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4dvEXT #-}
 ptr_glProgramUniform4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1109,7 +1200,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform4fv v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform4fv v1 v2 v3 v4
+glProgramUniform4fv v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform4fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4fv #-}
 ptr_glProgramUniform4fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1125,7 +1216,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glProgramUniform4fvEXT v1 v2 v3 v4 = liftIO $ dyn469 ptr_glProgramUniform4fvEXT v1 v2 v3 v4
+glProgramUniform4fvEXT v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform4fvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4fvEXT #-}
 ptr_glProgramUniform4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1192,7 +1283,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64 -- ^ @value@ pointing to @count*4@ elements of type @GLint64@.
   -> m ()
-glProgramUniform4i64vARB v1 v2 v3 v4 = liftIO $ dyn470 ptr_glProgramUniform4i64vARB v1 v2 v3 v4
+glProgramUniform4i64vARB v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform4i64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4i64vARB #-}
 ptr_glProgramUniform4i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
@@ -1241,7 +1332,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
   -> m ()
-glProgramUniform4iv v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform4iv v1 v2 v3 v4
+glProgramUniform4iv v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform4iv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4iv #-}
 ptr_glProgramUniform4iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -1257,7 +1348,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
   -> m ()
-glProgramUniform4ivEXT v1 v2 v3 v4 = liftIO $ dyn471 ptr_glProgramUniform4ivEXT v1 v2 v3 v4
+glProgramUniform4ivEXT v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform4ivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4ivEXT #-}
 ptr_glProgramUniform4ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -1324,7 +1415,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count*4@ elements of type @GLuint64@.
   -> m ()
-glProgramUniform4ui64vARB v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniform4ui64vARB v1 v2 v3 v4
+glProgramUniform4ui64vARB v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform4ui64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4ui64vARB #-}
 ptr_glProgramUniform4ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -1373,7 +1464,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
   -> m ()
-glProgramUniform4uiv v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform4uiv v1 v2 v3 v4
+glProgramUniform4uiv v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform4uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4uiv #-}
 ptr_glProgramUniform4uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1389,7 +1480,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
   -> m ()
-glProgramUniform4uivEXT v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniform4uivEXT v1 v2 v3 v4
+glProgramUniform4uivEXT v1 v2 v3 v4 = liftIO $ dyn474 ptr_glProgramUniform4uivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniform4uivEXT #-}
 ptr_glProgramUniform4uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1447,7 +1538,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @values@ pointing to @count@ elements of type @GLuint64@.
   -> m ()
-glProgramUniformHandleui64vARB v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniformHandleui64vARB v1 v2 v3 v4
+glProgramUniformHandleui64vARB v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniformHandleui64vARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniformHandleui64vARB #-}
 ptr_glProgramUniformHandleui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -1463,7 +1554,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @values@ pointing to @count@ elements of type @GLuint64@.
   -> m ()
-glProgramUniformHandleui64vIMG v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniformHandleui64vIMG v1 v2 v3 v4
+glProgramUniformHandleui64vIMG v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniformHandleui64vIMG v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniformHandleui64vIMG #-}
 ptr_glProgramUniformHandleui64vIMG :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -1478,7 +1569,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @values@ pointing to @count@ elements of type @GLuint64@.
   -> m ()
-glProgramUniformHandleui64vNV v1 v2 v3 v4 = liftIO $ dyn472 ptr_glProgramUniformHandleui64vNV v1 v2 v3 v4
+glProgramUniformHandleui64vNV v1 v2 v3 v4 = liftIO $ dyn473 ptr_glProgramUniformHandleui64vNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glProgramUniformHandleui64vNV #-}
 ptr_glProgramUniformHandleui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -1615,102 +1706,4 @@
 {-# NOINLINE ptr_glProgramUniformMatrix2x3fvEXT #-}
 ptr_glProgramUniformMatrix2x3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
 ptr_glProgramUniformMatrix2x3fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3fvEXT"
-
--- glProgramUniformMatrix2x4dv -------------------------------------------------
-
-glProgramUniformMatrix2x4dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4dv #-}
-ptr_glProgramUniformMatrix2x4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2x4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dv"
-
--- glProgramUniformMatrix2x4dvEXT ----------------------------------------------
-
-glProgramUniformMatrix2x4dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4dvEXT #-}
-ptr_glProgramUniformMatrix2x4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2x4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dvEXT"
-
--- glProgramUniformMatrix2x4fv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix2x4fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5 = liftIO $ dyn691 ptr_glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4fv #-}
-ptr_glProgramUniformMatrix2x4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2x4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fv"
-
--- glProgramUniformMatrix2x4fvEXT ----------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix2x4fv'.
-glProgramUniformMatrix2x4fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn691 ptr_glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4fvEXT #-}
-ptr_glProgramUniformMatrix2x4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2x4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fvEXT"
-
--- glProgramUniformMatrix3dv ---------------------------------------------------
-
-glProgramUniformMatrix3dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*9@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3dv v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix3dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3dv #-}
-ptr_glProgramUniformMatrix3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3dv"
-
--- glProgramUniformMatrix3dvEXT ------------------------------------------------
-
-glProgramUniformMatrix3dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*9@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3dvEXT #-}
-ptr_glProgramUniformMatrix3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3dvEXT"
 
diff --git a/src/Graphics/GL/Functions/F22.hs b/src/Graphics/GL/Functions/F22.hs
--- a/src/Graphics/GL/Functions/F22.hs
+++ b/src/Graphics/GL/Functions/F22.hs
@@ -15,6 +15,12 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F22 (
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4dvEXT,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix2x4fvEXT,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3dvEXT,
   glProgramUniformMatrix3fv,
   glProgramUniformMatrix3fvEXT,
   glProgramUniformMatrix3x2dv,
@@ -54,6 +60,8 @@
   glQueryCounterEXT,
   glQueryMatrixxOES,
   glQueryObjectParameteruiAMD,
+  glQueryResourceNV,
+  glQueryResourceTagNV,
   glRasterPos2d,
   glRasterPos2dv,
   glRasterPos2f,
@@ -106,15 +114,7 @@
   glRectxvOES,
   glReferencePlaneSGIX,
   glReleaseKeyedMutexWin32EXT,
-  glReleaseShaderCompiler,
-  glRenderGpuMaskNV,
-  glRenderMode,
-  glRenderbufferStorage,
-  glRenderbufferStorageEXT,
-  glRenderbufferStorageMultisample,
-  glRenderbufferStorageMultisampleANGLE,
-  glRenderbufferStorageMultisampleAPPLE,
-  glRenderbufferStorageMultisampleCoverageNV
+  glReleaseShaderCompiler
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,104 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glProgramUniformMatrix2x4dv -------------------------------------------------
+
+glProgramUniformMatrix2x4dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4dv #-}
+ptr_glProgramUniformMatrix2x4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2x4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dv"
+
+-- glProgramUniformMatrix2x4dvEXT ----------------------------------------------
+
+glProgramUniformMatrix2x4dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4dvEXT #-}
+ptr_glProgramUniformMatrix2x4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2x4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dvEXT"
+
+-- glProgramUniformMatrix2x4fv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix2x4fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5 = liftIO $ dyn691 ptr_glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4fv #-}
+ptr_glProgramUniformMatrix2x4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2x4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fv"
+
+-- glProgramUniformMatrix2x4fvEXT ----------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix2x4fv'.
+glProgramUniformMatrix2x4fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn691 ptr_glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4fvEXT #-}
+ptr_glProgramUniformMatrix2x4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2x4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fvEXT"
+
+-- glProgramUniformMatrix3dv ---------------------------------------------------
+
+glProgramUniformMatrix3dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*9@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3dv v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix3dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3dv #-}
+ptr_glProgramUniformMatrix3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3dv"
+
+-- glProgramUniformMatrix3dvEXT ------------------------------------------------
+
+glProgramUniformMatrix3dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*9@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn690 ptr_glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3dvEXT #-}
+ptr_glProgramUniformMatrix3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3dvEXT"
+
 -- glProgramUniformMatrix3fv ---------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
@@ -534,7 +632,7 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glProvokingVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glProvokingVertex.xhtml OpenGL 4.x>.
 glProvokingVertex
   :: MonadIO m
-  => GLenum -- ^ @mode@.
+  => GLenum -- ^ @mode@ of type [VertexProvokingMode](Graphics-GL-Groups.html#VertexProvokingMode).
   -> m ()
 glProvokingVertex v1 = liftIO $ dyn5 ptr_glProvokingVertex v1
 
@@ -547,7 +645,7 @@
 -- | This command is an alias for 'glProvokingVertex'.
 glProvokingVertexEXT
   :: MonadIO m
-  => GLenum -- ^ @mode@.
+  => GLenum -- ^ @mode@ of type [VertexProvokingMode](Graphics-GL-Groups.html#VertexProvokingMode).
   -> m ()
 glProvokingVertexEXT v1 = liftIO $ dyn5 ptr_glProvokingVertexEXT v1
 
@@ -598,7 +696,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPushDebugGroup.xhtml OpenGL 4.x>.
 glPushDebugGroup
   :: MonadIO m
-  => GLenum -- ^ @source@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
   -> GLuint -- ^ @id@.
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @message@ pointing to @COMPSIZE(message,length)@ elements of type @GLchar@.
@@ -614,7 +712,7 @@
 -- | This command is an alias for 'glPushDebugGroup'.
 glPushDebugGroupKHR
   :: MonadIO m
-  => GLenum -- ^ @source@.
+  => GLenum -- ^ @source@ of type [DebugSource](Graphics-GL-Groups.html#DebugSource).
   -> GLuint -- ^ @id@.
   -> GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @message@.
@@ -632,7 +730,7 @@
   => GLsizei -- ^ @length@.
   -> Ptr GLchar -- ^ @marker@.
   -> m ()
-glPushGroupMarkerEXT v1 v2 = liftIO $ dyn485 ptr_glPushGroupMarkerEXT v1 v2
+glPushGroupMarkerEXT v1 v2 = liftIO $ dyn486 ptr_glPushGroupMarkerEXT v1 v2
 
 {-# NOINLINE ptr_glPushGroupMarkerEXT #-}
 ptr_glPushGroupMarkerEXT :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
@@ -669,7 +767,7 @@
 glQueryCounter
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> m ()
 glQueryCounter v1 v2 = liftIO $ dyn16 ptr_glQueryCounter v1 v2
 
@@ -683,7 +781,7 @@
 glQueryCounterEXT
   :: MonadIO m
   => GLuint -- ^ @id@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> m ()
 glQueryCounterEXT v1 v2 = liftIO $ dyn16 ptr_glQueryCounterEXT v1 v2
 
@@ -708,7 +806,7 @@
 
 glQueryObjectParameteruiAMD
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [QueryTarget](Graphics-GL-Groups.html#QueryTarget).
   -> GLuint -- ^ @id@.
   -> GLenum -- ^ @pname@.
   -> GLuint -- ^ @param@ of type [OcclusionQueryEventMaskAMD](Graphics-GL-Groups.html#OcclusionQueryEventMaskAMD).
@@ -719,6 +817,34 @@
 ptr_glQueryObjectParameteruiAMD :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ())
 ptr_glQueryObjectParameteruiAMD = unsafePerformIO $ getCommand "glQueryObjectParameteruiAMD"
 
+-- glQueryResourceNV -----------------------------------------------------------
+
+glQueryResourceNV
+  :: MonadIO m
+  => GLenum -- ^ @queryType@.
+  -> GLint -- ^ @tagId@.
+  -> GLuint -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @buffer@.
+  -> m GLint
+glQueryResourceNV v1 v2 v3 v4 = liftIO $ dyn694 ptr_glQueryResourceNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glQueryResourceNV #-}
+ptr_glQueryResourceNV :: FunPtr (GLenum -> GLint -> GLuint -> Ptr GLint -> IO GLint)
+ptr_glQueryResourceNV = unsafePerformIO $ getCommand "glQueryResourceNV"
+
+-- glQueryResourceTagNV --------------------------------------------------------
+
+glQueryResourceTagNV
+  :: MonadIO m
+  => GLint -- ^ @tagId@.
+  -> Ptr GLchar -- ^ @tagString@.
+  -> m ()
+glQueryResourceTagNV v1 v2 = liftIO $ dyn216 ptr_glQueryResourceTagNV v1 v2
+
+{-# NOINLINE ptr_glQueryResourceTagNV #-}
+ptr_glQueryResourceTagNV :: FunPtr (GLint -> Ptr GLchar -> IO ())
+ptr_glQueryResourceTagNV = unsafePerformIO $ getCommand "glQueryResourceTagNV"
+
 -- glRasterPos2d ---------------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2dv'.
@@ -727,7 +853,7 @@
   => GLdouble -- ^ @x@ of type @CoordD@.
   -> GLdouble -- ^ @y@ of type @CoordD@.
   -> m ()
-glRasterPos2d v1 v2 = liftIO $ dyn220 ptr_glRasterPos2d v1 v2
+glRasterPos2d v1 v2 = liftIO $ dyn221 ptr_glRasterPos2d v1 v2
 
 {-# NOINLINE ptr_glRasterPos2d #-}
 ptr_glRasterPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -754,7 +880,7 @@
   => GLfloat -- ^ @x@ of type @CoordF@.
   -> GLfloat -- ^ @y@ of type @CoordF@.
   -> m ()
-glRasterPos2f v1 v2 = liftIO $ dyn225 ptr_glRasterPos2f v1 v2
+glRasterPos2f v1 v2 = liftIO $ dyn226 ptr_glRasterPos2f v1 v2
 
 {-# NOINLINE ptr_glRasterPos2f #-}
 ptr_glRasterPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -781,7 +907,7 @@
   => GLint -- ^ @x@ of type @CoordI@.
   -> GLint -- ^ @y@ of type @CoordI@.
   -> m ()
-glRasterPos2i v1 v2 = liftIO $ dyn270 ptr_glRasterPos2i v1 v2
+glRasterPos2i v1 v2 = liftIO $ dyn271 ptr_glRasterPos2i v1 v2
 
 {-# NOINLINE ptr_glRasterPos2i #-}
 ptr_glRasterPos2i :: FunPtr (GLint -> GLint -> IO ())
@@ -808,7 +934,7 @@
   => GLshort -- ^ @x@ of type @CoordS@.
   -> GLshort -- ^ @y@ of type @CoordS@.
   -> m ()
-glRasterPos2s v1 v2 = liftIO $ dyn694 ptr_glRasterPos2s v1 v2
+glRasterPos2s v1 v2 = liftIO $ dyn695 ptr_glRasterPos2s v1 v2
 
 {-# NOINLINE ptr_glRasterPos2s #-}
 ptr_glRasterPos2s :: FunPtr (GLshort -> GLshort -> IO ())
@@ -834,7 +960,7 @@
   => GLfixed -- ^ @x@.
   -> GLfixed -- ^ @y@.
   -> m ()
-glRasterPos2xOES v1 v2 = liftIO $ dyn227 ptr_glRasterPos2xOES v1 v2
+glRasterPos2xOES v1 v2 = liftIO $ dyn228 ptr_glRasterPos2xOES v1 v2
 
 {-# NOINLINE ptr_glRasterPos2xOES #-}
 ptr_glRasterPos2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -1140,7 +1266,7 @@
   => GLuint -- ^ @samples@.
   -> GLboolean -- ^ @fixedsamplelocations@.
   -> m ()
-glRasterSamplesEXT v1 v2 = liftIO $ dyn695 ptr_glRasterSamplesEXT v1 v2
+glRasterSamplesEXT v1 v2 = liftIO $ dyn696 ptr_glRasterSamplesEXT v1 v2
 
 {-# NOINLINE ptr_glRasterSamplesEXT #-}
 ptr_glRasterSamplesEXT :: FunPtr (GLuint -> GLboolean -> IO ())
@@ -1163,7 +1289,7 @@
 
 glReadBufferIndexedEXT
   :: MonadIO m
-  => GLenum -- ^ @src@.
+  => GLenum -- ^ @src@ of type [ReadBufferMode](Graphics-GL-Groups.html#ReadBufferMode).
   -> GLint -- ^ @index@.
   -> m ()
 glReadBufferIndexedEXT v1 v2 = liftIO $ dyn56 ptr_glReadBufferIndexedEXT v1 v2
@@ -1209,7 +1335,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
   -> m ()
-glReadPixels v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn696 ptr_glReadPixels v1 v2 v3 v4 v5 v6 v7
+glReadPixels v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn697 ptr_glReadPixels v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glReadPixels #-}
 ptr_glReadPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1224,12 +1350,12 @@
   -> GLint -- ^ @y@.
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @data@.
   -> m ()
-glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn697 ptr_glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8
+glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn698 ptr_glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glReadnPixels #-}
 ptr_glReadnPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1244,12 +1370,12 @@
   -> GLint -- ^ @y@.
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn697 ptr_glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8
+glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn698 ptr_glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glReadnPixelsARB #-}
 ptr_glReadnPixelsARB :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1264,12 +1390,12 @@
   -> GLint -- ^ @y@.
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn697 ptr_glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8
+glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn698 ptr_glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glReadnPixelsEXT #-}
 ptr_glReadnPixelsEXT :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1289,7 +1415,7 @@
   -> GLsizei -- ^ @bufSize@.
   -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
   -> m ()
-glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn697 ptr_glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8
+glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn698 ptr_glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glReadnPixelsKHR #-}
 ptr_glReadnPixelsKHR :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1319,7 +1445,7 @@
   => Ptr GLdouble -- ^ @v1@ pointing to @2@ elements of type @CoordD@.
   -> Ptr GLdouble -- ^ @v2@ pointing to @2@ elements of type @CoordD@.
   -> m ()
-glRectdv v1 v2 = liftIO $ dyn698 ptr_glRectdv v1 v2
+glRectdv v1 v2 = liftIO $ dyn699 ptr_glRectdv v1 v2
 
 {-# NOINLINE ptr_glRectdv #-}
 ptr_glRectdv :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
@@ -1379,7 +1505,7 @@
   => Ptr GLint -- ^ @v1@ pointing to @2@ elements of type @CoordI@.
   -> Ptr GLint -- ^ @v2@ pointing to @2@ elements of type @CoordI@.
   -> m ()
-glRectiv v1 v2 = liftIO $ dyn699 ptr_glRectiv v1 v2
+glRectiv v1 v2 = liftIO $ dyn700 ptr_glRectiv v1 v2
 
 {-# NOINLINE ptr_glRectiv #-}
 ptr_glRectiv :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
@@ -1409,7 +1535,7 @@
   => Ptr GLshort -- ^ @v1@ pointing to @2@ elements of type @CoordS@.
   -> Ptr GLshort -- ^ @v2@ pointing to @2@ elements of type @CoordS@.
   -> m ()
-glRectsv v1 v2 = liftIO $ dyn700 ptr_glRectsv v1 v2
+glRectsv v1 v2 = liftIO $ dyn701 ptr_glRectsv v1 v2
 
 {-# NOINLINE ptr_glRectsv #-}
 ptr_glRectsv :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
@@ -1437,7 +1563,7 @@
   => Ptr GLfixed -- ^ @v1@ pointing to @2@ elements of type @GLfixed@.
   -> Ptr GLfixed -- ^ @v2@ pointing to @2@ elements of type @GLfixed@.
   -> m ()
-glRectxvOES v1 v2 = liftIO $ dyn701 ptr_glRectxvOES v1 v2
+glRectxvOES v1 v2 = liftIO $ dyn702 ptr_glRectxvOES v1 v2
 
 {-# NOINLINE ptr_glRectxvOES #-}
 ptr_glRectxvOES :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ())
@@ -1462,7 +1588,7 @@
   => GLuint -- ^ @memory@.
   -> GLuint64 -- ^ @key@.
   -> m GLboolean
-glReleaseKeyedMutexWin32EXT v1 v2 = liftIO $ dyn702 ptr_glReleaseKeyedMutexWin32EXT v1 v2
+glReleaseKeyedMutexWin32EXT v1 v2 = liftIO $ dyn703 ptr_glReleaseKeyedMutexWin32EXT v1 v2
 
 {-# NOINLINE ptr_glReleaseKeyedMutexWin32EXT #-}
 ptr_glReleaseKeyedMutexWin32EXT :: FunPtr (GLuint -> GLuint64 -> IO GLboolean)
@@ -1479,127 +1605,4 @@
 {-# NOINLINE ptr_glReleaseShaderCompiler #-}
 ptr_glReleaseShaderCompiler :: FunPtr (IO ())
 ptr_glReleaseShaderCompiler = unsafePerformIO $ getCommand "glReleaseShaderCompiler"
-
--- glRenderGpuMaskNV -----------------------------------------------------------
-
-glRenderGpuMaskNV
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@.
-  -> m ()
-glRenderGpuMaskNV v1 = liftIO $ dyn72 ptr_glRenderGpuMaskNV v1
-
-{-# NOINLINE ptr_glRenderGpuMaskNV #-}
-ptr_glRenderGpuMaskNV :: FunPtr (GLbitfield -> IO ())
-ptr_glRenderGpuMaskNV = unsafePerformIO $ getCommand "glRenderGpuMaskNV"
-
--- glRenderMode ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRenderMode.xml OpenGL 2.x>.
-glRenderMode
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [RenderingMode](Graphics-GL-Groups.html#RenderingMode).
-  -> m GLint
-glRenderMode v1 = liftIO $ dyn703 ptr_glRenderMode v1
-
-{-# NOINLINE ptr_glRenderMode #-}
-ptr_glRenderMode :: FunPtr (GLenum -> IO GLint)
-ptr_glRenderMode = unsafePerformIO $ getCommand "glRenderMode"
-
--- glRenderbufferStorage -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorage.xhtml OpenGL 4.x>.
-glRenderbufferStorage
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorage v1 v2 v3 v4 = liftIO $ dyn704 ptr_glRenderbufferStorage v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRenderbufferStorage #-}
-ptr_glRenderbufferStorage :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorage = unsafePerformIO $ getCommand "glRenderbufferStorage"
-
--- glRenderbufferStorageEXT ----------------------------------------------------
-
--- | This command is an alias for 'glRenderbufferStorage'.
-glRenderbufferStorageEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn704 ptr_glRenderbufferStorageEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRenderbufferStorageEXT #-}
-ptr_glRenderbufferStorageEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageEXT = unsafePerformIO $ getCommand "glRenderbufferStorageEXT"
-
--- glRenderbufferStorageMultisample --------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorageMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorageMultisample.xhtml OpenGL 4.x>.
-glRenderbufferStorageMultisample
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisample v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glRenderbufferStorageMultisample v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisample #-}
-ptr_glRenderbufferStorageMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisample = unsafePerformIO $ getCommand "glRenderbufferStorageMultisample"
-
--- glRenderbufferStorageMultisampleANGLE ---------------------------------------
-
-glRenderbufferStorageMultisampleANGLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleANGLE #-}
-ptr_glRenderbufferStorageMultisampleANGLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleANGLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleANGLE"
-
--- glRenderbufferStorageMultisampleAPPLE ---------------------------------------
-
-glRenderbufferStorageMultisampleAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleAPPLE #-}
-ptr_glRenderbufferStorageMultisampleAPPLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleAPPLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleAPPLE"
-
--- glRenderbufferStorageMultisampleCoverageNV ----------------------------------
-
-glRenderbufferStorageMultisampleCoverageNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLsizei -- ^ @coverageSamples@.
-  -> GLsizei -- ^ @colorSamples@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn706 ptr_glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleCoverageNV #-}
-ptr_glRenderbufferStorageMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleCoverageNV = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleCoverageNV"
 
diff --git a/src/Graphics/GL/Functions/F23.hs b/src/Graphics/GL/Functions/F23.hs
--- a/src/Graphics/GL/Functions/F23.hs
+++ b/src/Graphics/GL/Functions/F23.hs
@@ -15,6 +15,14 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F23 (
+  glRenderGpuMaskNV,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageEXT,
+  glRenderbufferStorageMultisample,
+  glRenderbufferStorageMultisampleANGLE,
+  glRenderbufferStorageMultisampleAPPLE,
+  glRenderbufferStorageMultisampleCoverageNV,
   glRenderbufferStorageMultisampleEXT,
   glRenderbufferStorageMultisampleIMG,
   glRenderbufferStorageMultisampleNV,
@@ -106,15 +114,7 @@
   glSecondaryColor3hNV,
   glSecondaryColor3hvNV,
   glSecondaryColor3i,
-  glSecondaryColor3iEXT,
-  glSecondaryColor3iv,
-  glSecondaryColor3ivEXT,
-  glSecondaryColor3s,
-  glSecondaryColor3sEXT,
-  glSecondaryColor3sv,
-  glSecondaryColor3svEXT,
-  glSecondaryColor3ub,
-  glSecondaryColor3ubEXT
+  glSecondaryColor3iEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,18 +123,141 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glRenderGpuMaskNV -----------------------------------------------------------
+
+glRenderGpuMaskNV
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@.
+  -> m ()
+glRenderGpuMaskNV v1 = liftIO $ dyn72 ptr_glRenderGpuMaskNV v1
+
+{-# NOINLINE ptr_glRenderGpuMaskNV #-}
+ptr_glRenderGpuMaskNV :: FunPtr (GLbitfield -> IO ())
+ptr_glRenderGpuMaskNV = unsafePerformIO $ getCommand "glRenderGpuMaskNV"
+
+-- glRenderMode ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRenderMode.xml OpenGL 2.x>.
+glRenderMode
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [RenderingMode](Graphics-GL-Groups.html#RenderingMode).
+  -> m GLint
+glRenderMode v1 = liftIO $ dyn704 ptr_glRenderMode v1
+
+{-# NOINLINE ptr_glRenderMode #-}
+ptr_glRenderMode :: FunPtr (GLenum -> IO GLint)
+ptr_glRenderMode = unsafePerformIO $ getCommand "glRenderMode"
+
+-- glRenderbufferStorage -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorage.xhtml OpenGL 4.x>.
+glRenderbufferStorage
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorage v1 v2 v3 v4 = liftIO $ dyn705 ptr_glRenderbufferStorage v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRenderbufferStorage #-}
+ptr_glRenderbufferStorage :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorage = unsafePerformIO $ getCommand "glRenderbufferStorage"
+
+-- glRenderbufferStorageEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glRenderbufferStorage'.
+glRenderbufferStorageEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn705 ptr_glRenderbufferStorageEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRenderbufferStorageEXT #-}
+ptr_glRenderbufferStorageEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageEXT = unsafePerformIO $ getCommand "glRenderbufferStorageEXT"
+
+-- glRenderbufferStorageMultisample --------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorageMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorageMultisample.xhtml OpenGL 4.x>.
+glRenderbufferStorageMultisample
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisample v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glRenderbufferStorageMultisample v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisample #-}
+ptr_glRenderbufferStorageMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisample = unsafePerformIO $ getCommand "glRenderbufferStorageMultisample"
+
+-- glRenderbufferStorageMultisampleANGLE ---------------------------------------
+
+glRenderbufferStorageMultisampleANGLE
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleANGLE #-}
+ptr_glRenderbufferStorageMultisampleANGLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleANGLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleANGLE"
+
+-- glRenderbufferStorageMultisampleAPPLE ---------------------------------------
+
+glRenderbufferStorageMultisampleAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleAPPLE #-}
+ptr_glRenderbufferStorageMultisampleAPPLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleAPPLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleAPPLE"
+
+-- glRenderbufferStorageMultisampleCoverageNV ----------------------------------
+
+glRenderbufferStorageMultisampleCoverageNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLsizei -- ^ @coverageSamples@.
+  -> GLsizei -- ^ @colorSamples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn707 ptr_glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleCoverageNV #-}
+ptr_glRenderbufferStorageMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleCoverageNV = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleCoverageNV"
+
 -- glRenderbufferStorageMultisampleEXT -----------------------------------------
 
 -- | This command is an alias for 'glRenderbufferStorageMultisample'.
 glRenderbufferStorageMultisampleEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5
+glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glRenderbufferStorageMultisampleEXT #-}
 ptr_glRenderbufferStorageMultisampleEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
@@ -144,13 +267,13 @@
 
 glRenderbufferStorageMultisampleIMG
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5
+glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glRenderbufferStorageMultisampleIMG #-}
 ptr_glRenderbufferStorageMultisampleIMG :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
@@ -161,13 +284,13 @@
 -- | This command is an alias for 'glRenderbufferStorageMultisample'.
 glRenderbufferStorageMultisampleNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5
+glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glRenderbufferStorageMultisampleNV #-}
 ptr_glRenderbufferStorageMultisampleNV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
@@ -177,12 +300,12 @@
 
 glRenderbufferStorageOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
+  => GLenum -- ^ @target@ of type [RenderbufferTarget](Graphics-GL-Groups.html#RenderbufferTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glRenderbufferStorageOES v1 v2 v3 v4 = liftIO $ dyn704 ptr_glRenderbufferStorageOES v1 v2 v3 v4
+glRenderbufferStorageOES v1 v2 v3 v4 = liftIO $ dyn705 ptr_glRenderbufferStorageOES v1 v2 v3 v4
 
 {-# NOINLINE ptr_glRenderbufferStorageOES #-}
 ptr_glRenderbufferStorageOES :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
@@ -196,7 +319,7 @@
   -> GLsizei -- ^ @stride@.
   -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
   -> m ()
-glReplacementCodePointerSUN v1 v2 v3 = liftIO $ dyn707 ptr_glReplacementCodePointerSUN v1 v2 v3
+glReplacementCodePointerSUN v1 v2 v3 = liftIO $ dyn708 ptr_glReplacementCodePointerSUN v1 v2 v3
 
 {-# NOINLINE ptr_glReplacementCodePointerSUN #-}
 ptr_glReplacementCodePointerSUN :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr a) -> IO ())
@@ -208,7 +331,7 @@
   :: MonadIO m
   => GLubyte -- ^ @code@.
   -> m ()
-glReplacementCodeubSUN v1 = liftIO $ dyn476 ptr_glReplacementCodeubSUN v1
+glReplacementCodeubSUN v1 = liftIO $ dyn477 ptr_glReplacementCodeubSUN v1
 
 {-# NOINLINE ptr_glReplacementCodeubSUN #-}
 ptr_glReplacementCodeubSUN :: FunPtr (GLubyte -> IO ())
@@ -238,7 +361,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn708 ptr_glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
+glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn709 ptr_glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glReplacementCodeuiColor3fVertex3fSUN #-}
 ptr_glReplacementCodeuiColor3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -252,7 +375,7 @@
   -> Ptr GLfloat -- ^ @c@ pointing to @3@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn709 ptr_glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3
+glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn710 ptr_glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3
 
 {-# NOINLINE ptr_glReplacementCodeuiColor3fVertex3fvSUN #-}
 ptr_glReplacementCodeuiColor3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -274,7 +397,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn710 ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn711 ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN #-}
 ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -289,7 +412,7 @@
   -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn711 ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
+glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn712 ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
 
 {-# NOINLINE ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN #-}
 ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -308,7 +431,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn712 ptr_glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
+glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn713 ptr_glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glReplacementCodeuiColor4ubVertex3fSUN #-}
 ptr_glReplacementCodeuiColor4ubVertex3fSUN :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -322,7 +445,7 @@
   -> Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn713 ptr_glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3
+glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn714 ptr_glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3
 
 {-# NOINLINE ptr_glReplacementCodeuiColor4ubVertex3fvSUN #-}
 ptr_glReplacementCodeuiColor4ubVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ())
@@ -340,7 +463,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn708 ptr_glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
+glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn709 ptr_glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glReplacementCodeuiNormal3fVertex3fSUN #-}
 ptr_glReplacementCodeuiNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -354,7 +477,7 @@
   -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn709 ptr_glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3
+glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn710 ptr_glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3
 
 {-# NOINLINE ptr_glReplacementCodeuiNormal3fVertex3fvSUN #-}
 ptr_glReplacementCodeuiNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -390,7 +513,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn714 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn715 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
 
 {-# NOINLINE ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN #-}
 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -406,7 +529,7 @@
   -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5 = liftIO $ dyn715 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5 = liftIO $ dyn716 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN #-}
 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -426,7 +549,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn716 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
+glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn717 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN #-}
 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -441,7 +564,7 @@
   -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn711 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4
+glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn712 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4
 
 {-# NOINLINE ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN #-}
 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -458,7 +581,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn717 ptr_glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6
+glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn718 ptr_glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glReplacementCodeuiTexCoord2fVertex3fSUN #-}
 ptr_glReplacementCodeuiTexCoord2fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -472,7 +595,7 @@
   -> Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3 = liftIO $ dyn709 ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3
+glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3 = liftIO $ dyn710 ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3
 
 {-# NOINLINE ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN #-}
 ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -487,7 +610,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glReplacementCodeuiVertex3fSUN v1 v2 v3 v4 = liftIO $ dyn718 ptr_glReplacementCodeuiVertex3fSUN v1 v2 v3 v4
+glReplacementCodeuiVertex3fSUN v1 v2 v3 v4 = liftIO $ dyn719 ptr_glReplacementCodeuiVertex3fSUN v1 v2 v3 v4
 
 {-# NOINLINE ptr_glReplacementCodeuiVertex3fSUN #-}
 ptr_glReplacementCodeuiVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -500,7 +623,7 @@
   => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glReplacementCodeuiVertex3fvSUN v1 v2 = liftIO $ dyn719 ptr_glReplacementCodeuiVertex3fvSUN v1 v2
+glReplacementCodeuiVertex3fvSUN v1 v2 = liftIO $ dyn720 ptr_glReplacementCodeuiVertex3fvSUN v1 v2
 
 {-# NOINLINE ptr_glReplacementCodeuiVertex3fvSUN #-}
 ptr_glReplacementCodeuiVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ())
@@ -524,7 +647,7 @@
   :: MonadIO m
   => GLushort -- ^ @code@.
   -> m ()
-glReplacementCodeusSUN v1 = liftIO $ dyn477 ptr_glReplacementCodeusSUN v1
+glReplacementCodeusSUN v1 = liftIO $ dyn478 ptr_glReplacementCodeusSUN v1
 
 {-# NOINLINE ptr_glReplacementCodeusSUN #-}
 ptr_glReplacementCodeusSUN :: FunPtr (GLushort -> IO ())
@@ -560,7 +683,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glResetHistogram.xml OpenGL 2.x>.
 glResetHistogram
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
   -> m ()
 glResetHistogram v1 = liftIO $ dyn5 ptr_glResetHistogram v1
 
@@ -586,7 +709,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glResetMinmax.xml OpenGL 2.x>.
 glResetMinmax
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
   -> m ()
 glResetMinmax v1 = liftIO $ dyn5 ptr_glResetMinmax v1
 
@@ -734,7 +857,7 @@
   => GLfloat -- ^ @value@.
   -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glSampleCoverage v1 v2 = liftIO $ dyn720 ptr_glSampleCoverage v1 v2
+glSampleCoverage v1 v2 = liftIO $ dyn721 ptr_glSampleCoverage v1 v2
 
 {-# NOINLINE ptr_glSampleCoverage #-}
 ptr_glSampleCoverage :: FunPtr (GLfloat -> GLboolean -> IO ())
@@ -748,7 +871,7 @@
   => GLfloat -- ^ @value@.
   -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glSampleCoverageARB v1 v2 = liftIO $ dyn720 ptr_glSampleCoverageARB v1 v2
+glSampleCoverageARB v1 v2 = liftIO $ dyn721 ptr_glSampleCoverageARB v1 v2
 
 {-# NOINLINE ptr_glSampleCoverageARB #-}
 ptr_glSampleCoverageARB :: FunPtr (GLfloat -> GLboolean -> IO ())
@@ -761,7 +884,7 @@
   => GLclampx -- ^ @value@.
   -> GLboolean -- ^ @invert@.
   -> m ()
-glSampleCoveragex v1 v2 = liftIO $ dyn721 ptr_glSampleCoveragex v1 v2
+glSampleCoveragex v1 v2 = liftIO $ dyn722 ptr_glSampleCoveragex v1 v2
 
 {-# NOINLINE ptr_glSampleCoveragex #-}
 ptr_glSampleCoveragex :: FunPtr (GLclampx -> GLboolean -> IO ())
@@ -774,7 +897,7 @@
   => GLclampx -- ^ @value@.
   -> GLboolean -- ^ @invert@.
   -> m ()
-glSampleCoveragexOES v1 v2 = liftIO $ dyn721 ptr_glSampleCoveragexOES v1 v2
+glSampleCoveragexOES v1 v2 = liftIO $ dyn722 ptr_glSampleCoveragexOES v1 v2
 
 {-# NOINLINE ptr_glSampleCoveragexOES #-}
 ptr_glSampleCoveragexOES :: FunPtr (GLclampx -> GLboolean -> IO ())
@@ -801,7 +924,7 @@
   => GLclampf -- ^ @value@ of type @ClampedFloat32@.
   -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glSampleMaskEXT v1 v2 = liftIO $ dyn722 ptr_glSampleMaskEXT v1 v2
+glSampleMaskEXT v1 v2 = liftIO $ dyn723 ptr_glSampleMaskEXT v1 v2
 
 {-# NOINLINE ptr_glSampleMaskEXT #-}
 ptr_glSampleMaskEXT :: FunPtr (GLclampf -> GLboolean -> IO ())
@@ -828,7 +951,7 @@
   => GLclampf -- ^ @value@ of type @ClampedFloat32@.
   -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glSampleMaskSGIS v1 v2 = liftIO $ dyn722 ptr_glSampleMaskSGIS v1 v2
+glSampleMaskSGIS v1 v2 = liftIO $ dyn723 ptr_glSampleMaskSGIS v1 v2
 
 {-# NOINLINE ptr_glSampleMaskSGIS #-}
 ptr_glSampleMaskSGIS :: FunPtr (GLclampf -> GLboolean -> IO ())
@@ -879,10 +1002,10 @@
 glSamplerParameterIiv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glSamplerParameterIiv v1 v2 v3 = liftIO $ dyn341 ptr_glSamplerParameterIiv v1 v2 v3
+glSamplerParameterIiv v1 v2 v3 = liftIO $ dyn342 ptr_glSamplerParameterIiv v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameterIiv #-}
 ptr_glSamplerParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -894,10 +1017,10 @@
 glSamplerParameterIivEXT
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn341 ptr_glSamplerParameterIivEXT v1 v2 v3
+glSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn342 ptr_glSamplerParameterIivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameterIivEXT #-}
 ptr_glSamplerParameterIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -909,10 +1032,10 @@
 glSamplerParameterIivOES
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn341 ptr_glSamplerParameterIivOES v1 v2 v3
+glSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn342 ptr_glSamplerParameterIivOES v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameterIivOES #-}
 ptr_glSamplerParameterIivOES :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -924,10 +1047,10 @@
 glSamplerParameterIuiv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn384 ptr_glSamplerParameterIuiv v1 v2 v3
+glSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn385 ptr_glSamplerParameterIuiv v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameterIuiv #-}
 ptr_glSamplerParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -939,10 +1062,10 @@
 glSamplerParameterIuivEXT
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn384 ptr_glSamplerParameterIuivEXT v1 v2 v3
+glSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn385 ptr_glSamplerParameterIuivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameterIuivEXT #-}
 ptr_glSamplerParameterIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -954,10 +1077,10 @@
 glSamplerParameterIuivOES
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn384 ptr_glSamplerParameterIuivOES v1 v2 v3
+glSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn385 ptr_glSamplerParameterIuivOES v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameterIuivOES #-}
 ptr_glSamplerParameterIuivOES :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -969,7 +1092,7 @@
 glSamplerParameterf
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> GLfloat -- ^ @param@.
   -> m ()
 glSamplerParameterf v1 v2 v3 = liftIO $ dyn505 ptr_glSamplerParameterf v1 v2 v3
@@ -984,10 +1107,10 @@
 glSamplerParameterfv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glSamplerParameterfv v1 v2 v3 = liftIO $ dyn357 ptr_glSamplerParameterfv v1 v2 v3
+glSamplerParameterfv v1 v2 v3 = liftIO $ dyn358 ptr_glSamplerParameterfv v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameterfv #-}
 ptr_glSamplerParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -999,10 +1122,10 @@
 glSamplerParameteri
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> GLint -- ^ @param@.
   -> m ()
-glSamplerParameteri v1 v2 v3 = liftIO $ dyn481 ptr_glSamplerParameteri v1 v2 v3
+glSamplerParameteri v1 v2 v3 = liftIO $ dyn482 ptr_glSamplerParameteri v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameteri #-}
 ptr_glSamplerParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1014,10 +1137,10 @@
 glSamplerParameteriv
   :: MonadIO m
   => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [SamplerParameterName](Graphics-GL-Groups.html#SamplerParameterName).
   -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glSamplerParameteriv v1 v2 v3 = liftIO $ dyn341 ptr_glSamplerParameteriv v1 v2 v3
+glSamplerParameteriv v1 v2 v3 = liftIO $ dyn342 ptr_glSamplerParameteriv v1 v2 v3
 
 {-# NOINLINE ptr_glSamplerParameteriv #-}
 ptr_glSamplerParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1091,7 +1214,7 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glScissor v1 v2 v3 v4 = liftIO $ dyn723 ptr_glScissor v1 v2 v3 v4
+glScissor v1 v2 v3 v4 = liftIO $ dyn724 ptr_glScissor v1 v2 v3 v4
 
 {-# NOINLINE ptr_glScissor #-}
 ptr_glScissor :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -1106,7 +1229,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
   -> m ()
-glScissorArrayv v1 v2 v3 = liftIO $ dyn724 ptr_glScissorArrayv v1 v2 v3
+glScissorArrayv v1 v2 v3 = liftIO $ dyn725 ptr_glScissorArrayv v1 v2 v3
 
 {-# NOINLINE ptr_glScissorArrayv #-}
 ptr_glScissorArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
@@ -1121,7 +1244,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
   -> m ()
-glScissorArrayvNV v1 v2 v3 = liftIO $ dyn724 ptr_glScissorArrayvNV v1 v2 v3
+glScissorArrayvNV v1 v2 v3 = liftIO $ dyn725 ptr_glScissorArrayvNV v1 v2 v3
 
 {-# NOINLINE ptr_glScissorArrayvNV #-}
 ptr_glScissorArrayvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
@@ -1136,7 +1259,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
   -> m ()
-glScissorArrayvOES v1 v2 v3 = liftIO $ dyn724 ptr_glScissorArrayvOES v1 v2 v3
+glScissorArrayvOES v1 v2 v3 = liftIO $ dyn725 ptr_glScissorArrayvOES v1 v2 v3
 
 {-# NOINLINE ptr_glScissorArrayvOES #-}
 ptr_glScissorArrayvOES :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
@@ -1153,7 +1276,7 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glScissorIndexed v1 v2 v3 v4 v5 = liftIO $ dyn725 ptr_glScissorIndexed v1 v2 v3 v4 v5
+glScissorIndexed v1 v2 v3 v4 v5 = liftIO $ dyn726 ptr_glScissorIndexed v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glScissorIndexed #-}
 ptr_glScissorIndexed :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -1170,7 +1293,7 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glScissorIndexedNV v1 v2 v3 v4 v5 = liftIO $ dyn725 ptr_glScissorIndexedNV v1 v2 v3 v4 v5
+glScissorIndexedNV v1 v2 v3 v4 v5 = liftIO $ dyn726 ptr_glScissorIndexedNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glScissorIndexedNV #-}
 ptr_glScissorIndexedNV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -1187,7 +1310,7 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glScissorIndexedOES v1 v2 v3 v4 v5 = liftIO $ dyn725 ptr_glScissorIndexedOES v1 v2 v3 v4 v5
+glScissorIndexedOES v1 v2 v3 v4 v5 = liftIO $ dyn726 ptr_glScissorIndexedOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glScissorIndexedOES #-}
 ptr_glScissorIndexedOES :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -1201,7 +1324,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glScissorIndexedv v1 v2 = liftIO $ dyn726 ptr_glScissorIndexedv v1 v2
+glScissorIndexedv v1 v2 = liftIO $ dyn727 ptr_glScissorIndexedv v1 v2
 
 {-# NOINLINE ptr_glScissorIndexedv #-}
 ptr_glScissorIndexedv :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1215,7 +1338,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glScissorIndexedvNV v1 v2 = liftIO $ dyn726 ptr_glScissorIndexedvNV v1 v2
+glScissorIndexedvNV v1 v2 = liftIO $ dyn727 ptr_glScissorIndexedvNV v1 v2
 
 {-# NOINLINE ptr_glScissorIndexedvNV #-}
 ptr_glScissorIndexedvNV :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1229,7 +1352,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glScissorIndexedvOES v1 v2 = liftIO $ dyn726 ptr_glScissorIndexedvOES v1 v2
+glScissorIndexedvOES v1 v2 = liftIO $ dyn727 ptr_glScissorIndexedvOES v1 v2
 
 {-# NOINLINE ptr_glScissorIndexedvOES #-}
 ptr_glScissorIndexedvOES :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1459,116 +1582,4 @@
 {-# NOINLINE ptr_glSecondaryColor3iEXT #-}
 ptr_glSecondaryColor3iEXT :: FunPtr (GLint -> GLint -> GLint -> IO ())
 ptr_glSecondaryColor3iEXT = unsafePerformIO $ getCommand "glSecondaryColor3iEXT"
-
--- glSecondaryColor3iv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
-  -> m ()
-glSecondaryColor3iv v1 = liftIO $ dyn44 ptr_glSecondaryColor3iv v1
-
-{-# NOINLINE ptr_glSecondaryColor3iv #-}
-ptr_glSecondaryColor3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glSecondaryColor3iv = unsafePerformIO $ getCommand "glSecondaryColor3iv"
-
--- glSecondaryColor3ivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3iv'.
-glSecondaryColor3ivEXT
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
-  -> m ()
-glSecondaryColor3ivEXT v1 = liftIO $ dyn44 ptr_glSecondaryColor3ivEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3ivEXT #-}
-ptr_glSecondaryColor3ivEXT :: FunPtr (Ptr GLint -> IO ())
-ptr_glSecondaryColor3ivEXT = unsafePerformIO $ getCommand "glSecondaryColor3ivEXT"
-
--- glSecondaryColor3s ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3sv'.
-glSecondaryColor3s
-  :: MonadIO m
-  => GLshort -- ^ @red@ of type @ColorS@.
-  -> GLshort -- ^ @green@ of type @ColorS@.
-  -> GLshort -- ^ @blue@ of type @ColorS@.
-  -> m ()
-glSecondaryColor3s v1 v2 v3 = liftIO $ dyn45 ptr_glSecondaryColor3s v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3s #-}
-ptr_glSecondaryColor3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glSecondaryColor3s = unsafePerformIO $ getCommand "glSecondaryColor3s"
-
--- glSecondaryColor3sEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3svEXT'. This command is an alias for 'glSecondaryColor3s'.
-glSecondaryColor3sEXT
-  :: MonadIO m
-  => GLshort -- ^ @red@ of type @ColorS@.
-  -> GLshort -- ^ @green@ of type @ColorS@.
-  -> GLshort -- ^ @blue@ of type @ColorS@.
-  -> m ()
-glSecondaryColor3sEXT v1 v2 v3 = liftIO $ dyn45 ptr_glSecondaryColor3sEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3sEXT #-}
-ptr_glSecondaryColor3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glSecondaryColor3sEXT = unsafePerformIO $ getCommand "glSecondaryColor3sEXT"
-
--- glSecondaryColor3sv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
-  -> m ()
-glSecondaryColor3sv v1 = liftIO $ dyn46 ptr_glSecondaryColor3sv v1
-
-{-# NOINLINE ptr_glSecondaryColor3sv #-}
-ptr_glSecondaryColor3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glSecondaryColor3sv = unsafePerformIO $ getCommand "glSecondaryColor3sv"
-
--- glSecondaryColor3svEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3sv'.
-glSecondaryColor3svEXT
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
-  -> m ()
-glSecondaryColor3svEXT v1 = liftIO $ dyn46 ptr_glSecondaryColor3svEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3svEXT #-}
-ptr_glSecondaryColor3svEXT :: FunPtr (Ptr GLshort -> IO ())
-ptr_glSecondaryColor3svEXT = unsafePerformIO $ getCommand "glSecondaryColor3svEXT"
-
--- glSecondaryColor3ub ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3ubv'.
-glSecondaryColor3ub
-  :: MonadIO m
-  => GLubyte -- ^ @red@ of type @ColorUB@.
-  -> GLubyte -- ^ @green@ of type @ColorUB@.
-  -> GLubyte -- ^ @blue@ of type @ColorUB@.
-  -> m ()
-glSecondaryColor3ub v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3ub v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3ub #-}
-ptr_glSecondaryColor3ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glSecondaryColor3ub = unsafePerformIO $ getCommand "glSecondaryColor3ub"
-
--- glSecondaryColor3ubEXT ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3ubvEXT'. This command is an alias for 'glSecondaryColor3ub'.
-glSecondaryColor3ubEXT
-  :: MonadIO m
-  => GLubyte -- ^ @red@ of type @ColorUB@.
-  -> GLubyte -- ^ @green@ of type @ColorUB@.
-  -> GLubyte -- ^ @blue@ of type @ColorUB@.
-  -> m ()
-glSecondaryColor3ubEXT v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3ubEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3ubEXT #-}
-ptr_glSecondaryColor3ubEXT :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glSecondaryColor3ubEXT = unsafePerformIO $ getCommand "glSecondaryColor3ubEXT"
 
diff --git a/src/Graphics/GL/Functions/F24.hs b/src/Graphics/GL/Functions/F24.hs
--- a/src/Graphics/GL/Functions/F24.hs
+++ b/src/Graphics/GL/Functions/F24.hs
@@ -15,6 +15,14 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F24 (
+  glSecondaryColor3iv,
+  glSecondaryColor3ivEXT,
+  glSecondaryColor3s,
+  glSecondaryColor3sEXT,
+  glSecondaryColor3sv,
+  glSecondaryColor3svEXT,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubEXT,
   glSecondaryColor3ubv,
   glSecondaryColor3ubvEXT,
   glSecondaryColor3ui,
@@ -54,6 +62,7 @@
   glSignalSemaphoreEXT,
   glSignalVkFenceNV,
   glSignalVkSemaphoreNV,
+  glSpecializeShader,
   glSpecializeShaderARB,
   glSpriteParameterfSGIX,
   glSpriteParameterfvSGIX,
@@ -105,16 +114,7 @@
   glTestObjectAPPLE,
   glTexBuffer,
   glTexBufferARB,
-  glTexBufferEXT,
-  glTexBufferOES,
-  glTexBufferRange,
-  glTexBufferRangeEXT,
-  glTexBufferRangeOES,
-  glTexBumpParameterfvATI,
-  glTexBumpParameterivATI,
-  glTexCoord1bOES,
-  glTexCoord1bvOES,
-  glTexCoord1d
+  glTexBufferEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,118 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glSecondaryColor3iv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
+  -> m ()
+glSecondaryColor3iv v1 = liftIO $ dyn44 ptr_glSecondaryColor3iv v1
+
+{-# NOINLINE ptr_glSecondaryColor3iv #-}
+ptr_glSecondaryColor3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glSecondaryColor3iv = unsafePerformIO $ getCommand "glSecondaryColor3iv"
+
+-- glSecondaryColor3ivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3iv'.
+glSecondaryColor3ivEXT
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
+  -> m ()
+glSecondaryColor3ivEXT v1 = liftIO $ dyn44 ptr_glSecondaryColor3ivEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3ivEXT #-}
+ptr_glSecondaryColor3ivEXT :: FunPtr (Ptr GLint -> IO ())
+ptr_glSecondaryColor3ivEXT = unsafePerformIO $ getCommand "glSecondaryColor3ivEXT"
+
+-- glSecondaryColor3s ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3sv'.
+glSecondaryColor3s
+  :: MonadIO m
+  => GLshort -- ^ @red@ of type @ColorS@.
+  -> GLshort -- ^ @green@ of type @ColorS@.
+  -> GLshort -- ^ @blue@ of type @ColorS@.
+  -> m ()
+glSecondaryColor3s v1 v2 v3 = liftIO $ dyn45 ptr_glSecondaryColor3s v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3s #-}
+ptr_glSecondaryColor3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glSecondaryColor3s = unsafePerformIO $ getCommand "glSecondaryColor3s"
+
+-- glSecondaryColor3sEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3svEXT'. This command is an alias for 'glSecondaryColor3s'.
+glSecondaryColor3sEXT
+  :: MonadIO m
+  => GLshort -- ^ @red@ of type @ColorS@.
+  -> GLshort -- ^ @green@ of type @ColorS@.
+  -> GLshort -- ^ @blue@ of type @ColorS@.
+  -> m ()
+glSecondaryColor3sEXT v1 v2 v3 = liftIO $ dyn45 ptr_glSecondaryColor3sEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3sEXT #-}
+ptr_glSecondaryColor3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glSecondaryColor3sEXT = unsafePerformIO $ getCommand "glSecondaryColor3sEXT"
+
+-- glSecondaryColor3sv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
+  -> m ()
+glSecondaryColor3sv v1 = liftIO $ dyn46 ptr_glSecondaryColor3sv v1
+
+{-# NOINLINE ptr_glSecondaryColor3sv #-}
+ptr_glSecondaryColor3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glSecondaryColor3sv = unsafePerformIO $ getCommand "glSecondaryColor3sv"
+
+-- glSecondaryColor3svEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3sv'.
+glSecondaryColor3svEXT
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
+  -> m ()
+glSecondaryColor3svEXT v1 = liftIO $ dyn46 ptr_glSecondaryColor3svEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3svEXT #-}
+ptr_glSecondaryColor3svEXT :: FunPtr (Ptr GLshort -> IO ())
+ptr_glSecondaryColor3svEXT = unsafePerformIO $ getCommand "glSecondaryColor3svEXT"
+
+-- glSecondaryColor3ub ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3ubv'.
+glSecondaryColor3ub
+  :: MonadIO m
+  => GLubyte -- ^ @red@ of type @ColorUB@.
+  -> GLubyte -- ^ @green@ of type @ColorUB@.
+  -> GLubyte -- ^ @blue@ of type @ColorUB@.
+  -> m ()
+glSecondaryColor3ub v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3ub v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3ub #-}
+ptr_glSecondaryColor3ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glSecondaryColor3ub = unsafePerformIO $ getCommand "glSecondaryColor3ub"
+
+-- glSecondaryColor3ubEXT ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3ubvEXT'. This command is an alias for 'glSecondaryColor3ub'.
+glSecondaryColor3ubEXT
+  :: MonadIO m
+  => GLubyte -- ^ @red@ of type @ColorUB@.
+  -> GLubyte -- ^ @green@ of type @ColorUB@.
+  -> GLubyte -- ^ @blue@ of type @ColorUB@.
+  -> m ()
+glSecondaryColor3ubEXT v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3ubEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3ubEXT #-}
+ptr_glSecondaryColor3ubEXT :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glSecondaryColor3ubEXT = unsafePerformIO $ getCommand "glSecondaryColor3ubEXT"
+
 -- glSecondaryColor3ubv --------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
@@ -266,7 +378,7 @@
 glSecondaryColorFormatNV
   :: MonadIO m
   => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
   -> GLsizei -- ^ @stride@.
   -> m ()
 glSecondaryColorFormatNV v1 v2 v3 = liftIO $ dyn122 ptr_glSecondaryColorFormatNV v1 v2 v3
@@ -279,7 +391,7 @@
 
 glSecondaryColorP3ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
   -> GLuint -- ^ @color@.
   -> m ()
 glSecondaryColorP3ui v1 v2 = liftIO $ dyn17 ptr_glSecondaryColorP3ui v1 v2
@@ -292,7 +404,7 @@
 
 glSecondaryColorP3uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
   -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glSecondaryColorP3uiv v1 v2 = liftIO $ dyn128 ptr_glSecondaryColorP3uiv v1 v2
@@ -373,7 +485,7 @@
   -> GLint -- ^ @numCounters@.
   -> Ptr GLuint -- ^ @counterList@ pointing to @numCounters@ elements of type @GLuint@.
   -> m ()
-glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn727 ptr_glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5
+glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn728 ptr_glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glSelectPerfMonitorCountersAMD #-}
 ptr_glSelectPerfMonitorCountersAMD :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ())
@@ -387,7 +499,7 @@
   -> GLenum -- ^ @pname@ of type [SemaphoreParameterName](Graphics-GL-Groups.html#SemaphoreParameterName).
   -> Ptr GLuint64 -- ^ @params@.
   -> m ()
-glSemaphoreParameterui64vEXT v1 v2 v3 = liftIO $ dyn411 ptr_glSemaphoreParameterui64vEXT v1 v2 v3
+glSemaphoreParameterui64vEXT v1 v2 v3 = liftIO $ dyn412 ptr_glSemaphoreParameterui64vEXT v1 v2 v3
 
 {-# NOINLINE ptr_glSemaphoreParameterui64vEXT #-}
 ptr_glSemaphoreParameterui64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
@@ -398,7 +510,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSeparableFilter2D.xml OpenGL 2.x>.
 glSeparableFilter2D
   :: MonadIO m
-  => GLenum -- ^ @target@ of type @SeparableTarget@.
+  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
   -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
@@ -407,7 +519,7 @@
   -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type,width)@ elements of type @a@.
   -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type,height)@ elements of type @b@.
   -> m ()
-glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn728 ptr_glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8
+glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn729 ptr_glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glSeparableFilter2D #-}
 ptr_glSeparableFilter2D :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
@@ -427,7 +539,7 @@
   -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type,width)@ elements of type @a@.
   -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type,height)@ elements of type @b@.
   -> m ()
-glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn728 ptr_glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8
+glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn729 ptr_glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glSeparableFilter2DEXT #-}
 ptr_glSeparableFilter2DEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
@@ -465,7 +577,7 @@
   => GLuint -- ^ @dst@.
   -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glSetFragmentShaderConstantATI v1 v2 = liftIO $ dyn386 ptr_glSetFragmentShaderConstantATI v1 v2
+glSetFragmentShaderConstantATI v1 v2 = liftIO $ dyn387 ptr_glSetFragmentShaderConstantATI v1 v2
 
 {-# NOINLINE ptr_glSetFragmentShaderConstantATI #-}
 ptr_glSetFragmentShaderConstantATI :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -479,7 +591,7 @@
   -> GLenum -- ^ @type@ of type @ScalarType@.
   -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type)@ elements of type @a@.
   -> m ()
-glSetInvariantEXT v1 v2 v3 = liftIO $ dyn482 ptr_glSetInvariantEXT v1 v2 v3
+glSetInvariantEXT v1 v2 v3 = liftIO $ dyn483 ptr_glSetInvariantEXT v1 v2 v3
 
 {-# NOINLINE ptr_glSetInvariantEXT #-}
 ptr_glSetInvariantEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
@@ -493,7 +605,7 @@
   -> GLenum -- ^ @type@ of type @ScalarType@.
   -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type)@ elements of type @a@.
   -> m ()
-glSetLocalConstantEXT v1 v2 v3 = liftIO $ dyn482 ptr_glSetLocalConstantEXT v1 v2 v3
+glSetLocalConstantEXT v1 v2 v3 = liftIO $ dyn483 ptr_glSetLocalConstantEXT v1 v2 v3
 
 {-# NOINLINE ptr_glSetLocalConstantEXT #-}
 ptr_glSetLocalConstantEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
@@ -507,7 +619,7 @@
   -> GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @val@ pointing to @2@ elements of type @GLfloat@.
   -> m ()
-glSetMultisamplefvAMD v1 v2 v3 = liftIO $ dyn271 ptr_glSetMultisamplefvAMD v1 v2 v3
+glSetMultisamplefvAMD v1 v2 v3 = liftIO $ dyn272 ptr_glSetMultisamplefvAMD v1 v2 v3
 
 {-# NOINLINE ptr_glSetMultisamplefvAMD #-}
 ptr_glSetMultisamplefvAMD :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
@@ -537,7 +649,7 @@
   -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
   -> GLsizei -- ^ @length@.
   -> m ()
-glShaderBinary v1 v2 v3 v4 v5 = liftIO $ dyn729 ptr_glShaderBinary v1 v2 v3 v4 v5
+glShaderBinary v1 v2 v3 v4 v5 = liftIO $ dyn730 ptr_glShaderBinary v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glShaderBinary #-}
 ptr_glShaderBinary :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
@@ -566,7 +678,7 @@
   -> GLuint -- ^ @arg1@.
   -> GLuint -- ^ @arg2@.
   -> m ()
-glShaderOp2EXT v1 v2 v3 v4 = liftIO $ dyn730 ptr_glShaderOp2EXT v1 v2 v3 v4
+glShaderOp2EXT v1 v2 v3 v4 = liftIO $ dyn731 ptr_glShaderOp2EXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glShaderOp2EXT #-}
 ptr_glShaderOp2EXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
@@ -582,7 +694,7 @@
   -> GLuint -- ^ @arg2@.
   -> GLuint -- ^ @arg3@.
   -> m ()
-glShaderOp3EXT v1 v2 v3 v4 v5 = liftIO $ dyn731 ptr_glShaderOp3EXT v1 v2 v3 v4 v5
+glShaderOp3EXT v1 v2 v3 v4 v5 = liftIO $ dyn732 ptr_glShaderOp3EXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glShaderOp3EXT #-}
 ptr_glShaderOp3EXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -614,7 +726,7 @@
   -> Ptr (Ptr GLcharARB) -- ^ @string@ pointing to @count@ elements of type @Ptr GLcharARB@.
   -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
   -> m ()
-glShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn732 ptr_glShaderSourceARB v1 v2 v3 v4
+glShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn733 ptr_glShaderSourceARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glShaderSourceARB #-}
 ptr_glShaderSourceARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
@@ -643,7 +755,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
   -> m ()
-glSharpenTexFuncSGIS v1 v2 v3 = liftIO $ dyn228 ptr_glSharpenTexFuncSGIS v1 v2 v3
+glSharpenTexFuncSGIS v1 v2 v3 = liftIO $ dyn229 ptr_glSharpenTexFuncSGIS v1 v2 v3
 
 {-# NOINLINE ptr_glSharpenTexFuncSGIS #-}
 ptr_glSharpenTexFuncSGIS :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
@@ -660,7 +772,7 @@
   -> Ptr GLuint -- ^ @textures@ pointing to @COMPSIZE(numTextureBarriers)@ elements of type @GLuint@.
   -> Ptr GLenum -- ^ @dstLayouts@ pointing to @COMPSIZE(numTextureBarriers)@ elements of type [TextureLayout](Graphics-GL-Groups.html#TextureLayout).
   -> m ()
-glSignalSemaphoreEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn733 ptr_glSignalSemaphoreEXT v1 v2 v3 v4 v5 v6
+glSignalSemaphoreEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn734 ptr_glSignalSemaphoreEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glSignalSemaphoreEXT #-}
 ptr_glSignalSemaphoreEXT :: FunPtr (GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> IO ())
@@ -690,8 +802,25 @@
 ptr_glSignalVkSemaphoreNV :: FunPtr (GLuint64 -> IO ())
 ptr_glSignalVkSemaphoreNV = unsafePerformIO $ getCommand "glSignalVkSemaphoreNV"
 
+-- glSpecializeShader ----------------------------------------------------------
+
+glSpecializeShader
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> Ptr GLchar -- ^ @pEntryPoint@.
+  -> GLuint -- ^ @numSpecializationConstants@.
+  -> Ptr GLuint -- ^ @pConstantIndex@.
+  -> Ptr GLuint -- ^ @pConstantValue@.
+  -> m ()
+glSpecializeShader v1 v2 v3 v4 v5 = liftIO $ dyn735 ptr_glSpecializeShader v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glSpecializeShader #-}
+ptr_glSpecializeShader :: FunPtr (GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
+ptr_glSpecializeShader = unsafePerformIO $ getCommand "glSpecializeShader"
+
 -- glSpecializeShaderARB -------------------------------------------------------
 
+-- | This command is an alias for 'glSpecializeShader'.
 glSpecializeShaderARB
   :: MonadIO m
   => GLuint -- ^ @shader@.
@@ -700,7 +829,7 @@
   -> Ptr GLuint -- ^ @pConstantIndex@.
   -> Ptr GLuint -- ^ @pConstantValue@.
   -> m ()
-glSpecializeShaderARB v1 v2 v3 v4 v5 = liftIO $ dyn734 ptr_glSpecializeShaderARB v1 v2 v3 v4 v5
+glSpecializeShaderARB v1 v2 v3 v4 v5 = liftIO $ dyn735 ptr_glSpecializeShaderARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glSpecializeShaderARB #-}
 ptr_glSpecializeShaderARB :: FunPtr (GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
@@ -777,9 +906,9 @@
   -> GLuint -- ^ @y@.
   -> GLuint -- ^ @width@.
   -> GLuint -- ^ @height@.
-  -> GLbitfield -- ^ @preserveMask@.
+  -> GLbitfield -- ^ @preserveMask@ of type [BufferBitQCOM](Graphics-GL-Groups.html#BufferBitQCOM).
   -> m ()
-glStartTilingQCOM v1 v2 v3 v4 v5 = liftIO $ dyn735 ptr_glStartTilingQCOM v1 v2 v3 v4 v5
+glStartTilingQCOM v1 v2 v3 v4 v5 = liftIO $ dyn736 ptr_glStartTilingQCOM v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glStartTilingQCOM #-}
 ptr_glStartTilingQCOM :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ())
@@ -805,7 +934,7 @@
   => GLsizei -- ^ @stencilTagBits@.
   -> GLuint -- ^ @stencilClearTag@.
   -> m ()
-glStencilClearTagEXT v1 v2 = liftIO $ dyn736 ptr_glStencilClearTagEXT v1 v2
+glStencilClearTagEXT v1 v2 = liftIO $ dyn737 ptr_glStencilClearTagEXT v1 v2
 
 {-# NOINLINE ptr_glStencilClearTagEXT #-}
 ptr_glStencilClearTagEXT :: FunPtr (GLsizei -> GLuint -> IO ())
@@ -816,15 +945,15 @@
 glStencilFillPathInstancedNV
   :: MonadIO m
   => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
   -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
   -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLenum -- ^ @fillMode@ of type @PathFillMode@.
+  -> GLenum -- ^ @fillMode@ of type [PathFillMode](Graphics-GL-Groups.html#PathFillMode).
   -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
   -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
   -> m ()
-glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn737 ptr_glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
+glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn738 ptr_glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glStencilFillPathInstancedNV #-}
 ptr_glStencilFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -835,10 +964,10 @@
 glStencilFillPathNV
   :: MonadIO m
   => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @fillMode@ of type @PathFillMode@.
+  -> GLenum -- ^ @fillMode@ of type [PathFillMode](Graphics-GL-Groups.html#PathFillMode).
   -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
   -> m ()
-glStencilFillPathNV v1 v2 v3 = liftIO $ dyn738 ptr_glStencilFillPathNV v1 v2 v3
+glStencilFillPathNV v1 v2 v3 = liftIO $ dyn739 ptr_glStencilFillPathNV v1 v2 v3
 
 {-# NOINLINE ptr_glStencilFillPathNV #-}
 ptr_glStencilFillPathNV :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
@@ -869,7 +998,7 @@
   -> GLint -- ^ @ref@ of type @StencilValue@.
   -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
   -> m ()
-glStencilFuncSeparate v1 v2 v3 v4 = liftIO $ dyn739 ptr_glStencilFuncSeparate v1 v2 v3 v4
+glStencilFuncSeparate v1 v2 v3 v4 = liftIO $ dyn740 ptr_glStencilFuncSeparate v1 v2 v3 v4
 
 {-# NOINLINE ptr_glStencilFuncSeparate #-}
 ptr_glStencilFuncSeparate :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
@@ -884,7 +1013,7 @@
   -> GLint -- ^ @ref@ of type @ClampedStencilValue@.
   -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
   -> m ()
-glStencilFuncSeparateATI v1 v2 v3 v4 = liftIO $ dyn739 ptr_glStencilFuncSeparateATI v1 v2 v3 v4
+glStencilFuncSeparateATI v1 v2 v3 v4 = liftIO $ dyn740 ptr_glStencilFuncSeparateATI v1 v2 v3 v4
 
 {-# NOINLINE ptr_glStencilFuncSeparateATI #-}
 ptr_glStencilFuncSeparateATI :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
@@ -926,7 +1055,7 @@
   -> GLenum -- ^ @zfail@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
   -> GLenum -- ^ @zpass@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
   -> m ()
-glStencilOp v1 v2 v3 = liftIO $ dyn740 ptr_glStencilOp v1 v2 v3
+glStencilOp v1 v2 v3 = liftIO $ dyn741 ptr_glStencilOp v1 v2 v3
 
 {-# NOINLINE ptr_glStencilOp #-}
 ptr_glStencilOp :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
@@ -982,15 +1111,15 @@
 glStencilStrokePathInstancedNV
   :: MonadIO m
   => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> GLenum -- ^ @pathNameType@ of type [PathElementType](Graphics-GL-Groups.html#PathElementType).
   -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
   -> GLuint -- ^ @pathBase@ of type @Path@.
   -> GLint -- ^ @reference@ of type @StencilValue@.
   -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
   -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
   -> m ()
-glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn741 ptr_glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
+glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn742 ptr_glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glStencilStrokePathInstancedNV #-}
 ptr_glStencilStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1024,7 +1153,7 @@
   -> GLenum -- ^ @transformType@.
   -> Ptr GLfloat -- ^ @transformValues@.
   -> m ()
-glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn742 ptr_glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn743 ptr_glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glStencilThenCoverFillPathInstancedNV #-}
 ptr_glStencilThenCoverFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -1039,7 +1168,7 @@
   -> GLuint -- ^ @mask@.
   -> GLenum -- ^ @coverMode@.
   -> m ()
-glStencilThenCoverFillPathNV v1 v2 v3 v4 = liftIO $ dyn743 ptr_glStencilThenCoverFillPathNV v1 v2 v3 v4
+glStencilThenCoverFillPathNV v1 v2 v3 v4 = liftIO $ dyn744 ptr_glStencilThenCoverFillPathNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glStencilThenCoverFillPathNV #-}
 ptr_glStencilThenCoverFillPathNV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ())
@@ -1059,7 +1188,7 @@
   -> GLenum -- ^ @transformType@.
   -> Ptr GLfloat -- ^ @transformValues@.
   -> m ()
-glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn744 ptr_glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn745 ptr_glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glStencilThenCoverStrokePathInstancedNV #-}
 ptr_glStencilThenCoverStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -1074,7 +1203,7 @@
   -> GLuint -- ^ @mask@.
   -> GLenum -- ^ @coverMode@.
   -> m ()
-glStencilThenCoverStrokePathNV v1 v2 v3 v4 = liftIO $ dyn745 ptr_glStencilThenCoverStrokePathNV v1 v2 v3 v4
+glStencilThenCoverStrokePathNV v1 v2 v3 v4 = liftIO $ dyn746 ptr_glStencilThenCoverStrokePathNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glStencilThenCoverStrokePathNV #-}
 ptr_glStencilThenCoverStrokePathNV :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ())
@@ -1099,7 +1228,7 @@
   => GLsizei -- ^ @len@.
   -> Ptr a -- ^ @string@ pointing to @len@ elements of type @a@.
   -> m ()
-glStringMarkerGREMEDY v1 v2 = liftIO $ dyn264 ptr_glStringMarkerGREMEDY v1 v2
+glStringMarkerGREMEDY v1 v2 = liftIO $ dyn265 ptr_glStringMarkerGREMEDY v1 v2
 
 {-# NOINLINE ptr_glStringMarkerGREMEDY #-}
 ptr_glStringMarkerGREMEDY :: FunPtr (GLsizei -> Ptr a -> IO ())
@@ -1129,7 +1258,7 @@
   -> GLenum -- ^ @outZ@ of type @VertexShaderCoordOutEXT@.
   -> GLenum -- ^ @outW@ of type @VertexShaderCoordOutEXT@.
   -> m ()
-glSwizzleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn746 ptr_glSwizzleEXT v1 v2 v3 v4 v5 v6
+glSwizzleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn747 ptr_glSwizzleEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glSwizzleEXT #-}
 ptr_glSwizzleEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
@@ -1349,7 +1478,7 @@
   :: MonadIO m
   => GLuint -- ^ @fence@ of type @FenceNV@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glTestFenceAPPLE v1 = liftIO $ dyn277 ptr_glTestFenceAPPLE v1
+glTestFenceAPPLE v1 = liftIO $ dyn278 ptr_glTestFenceAPPLE v1
 
 {-# NOINLINE ptr_glTestFenceAPPLE #-}
 ptr_glTestFenceAPPLE :: FunPtr (GLuint -> IO GLboolean)
@@ -1361,7 +1490,7 @@
   :: MonadIO m
   => GLuint -- ^ @fence@ of type @FenceNV@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glTestFenceNV v1 = liftIO $ dyn277 ptr_glTestFenceNV v1
+glTestFenceNV v1 = liftIO $ dyn278 ptr_glTestFenceNV v1
 
 {-# NOINLINE ptr_glTestFenceNV #-}
 ptr_glTestFenceNV :: FunPtr (GLuint -> IO GLboolean)
@@ -1386,7 +1515,7 @@
 glTexBuffer
   :: MonadIO m
   => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @buffer@.
   -> m ()
 glTexBuffer v1 v2 v3 = liftIO $ dyn30 ptr_glTexBuffer v1 v2 v3
@@ -1401,7 +1530,7 @@
 glTexBufferARB
   :: MonadIO m
   => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @buffer@.
   -> m ()
 glTexBufferARB v1 v2 v3 = liftIO $ dyn30 ptr_glTexBufferARB v1 v2 v3
@@ -1416,7 +1545,7 @@
 glTexBufferEXT
   :: MonadIO m
   => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @buffer@.
   -> m ()
 glTexBufferEXT v1 v2 v3 = liftIO $ dyn30 ptr_glTexBufferEXT v1 v2 v3
@@ -1424,133 +1553,4 @@
 {-# NOINLINE ptr_glTexBufferEXT #-}
 ptr_glTexBufferEXT :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
 ptr_glTexBufferEXT = unsafePerformIO $ getCommand "glTexBufferEXT"
-
--- glTexBufferOES --------------------------------------------------------------
-
--- | This command is an alias for 'glTexBuffer'.
-glTexBufferOES
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTexBufferOES v1 v2 v3 = liftIO $ dyn30 ptr_glTexBufferOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexBufferOES #-}
-ptr_glTexBufferOES :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glTexBufferOES = unsafePerformIO $ getCommand "glTexBufferOES"
-
--- glTexBufferRange ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBufferRange.xhtml OpenGL 4.x>.
-glTexBufferRange
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTexBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn747 ptr_glTexBufferRange v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexBufferRange #-}
-ptr_glTexBufferRange :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTexBufferRange = unsafePerformIO $ getCommand "glTexBufferRange"
-
--- glTexBufferRangeEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glTexBufferRange'.
-glTexBufferRangeEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTexBufferRangeEXT v1 v2 v3 v4 v5 = liftIO $ dyn747 ptr_glTexBufferRangeEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexBufferRangeEXT #-}
-ptr_glTexBufferRangeEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTexBufferRangeEXT = unsafePerformIO $ getCommand "glTexBufferRangeEXT"
-
--- glTexBufferRangeOES ---------------------------------------------------------
-
--- | This command is an alias for 'glTexBufferRange'.
-glTexBufferRangeOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTexBufferRangeOES v1 v2 v3 v4 v5 = liftIO $ dyn747 ptr_glTexBufferRangeOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexBufferRangeOES #-}
-ptr_glTexBufferRangeOES :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTexBufferRangeOES = unsafePerformIO $ getCommand "glTexBufferRangeOES"
-
--- glTexBumpParameterfvATI -----------------------------------------------------
-
-glTexBumpParameterfvATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
-  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glTexBumpParameterfvATI v1 v2 = liftIO $ dyn97 ptr_glTexBumpParameterfvATI v1 v2
-
-{-# NOINLINE ptr_glTexBumpParameterfvATI #-}
-ptr_glTexBumpParameterfvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexBumpParameterfvATI = unsafePerformIO $ getCommand "glTexBumpParameterfvATI"
-
--- glTexBumpParameterivATI -----------------------------------------------------
-
-glTexBumpParameterivATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
-  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glTexBumpParameterivATI v1 v2 = liftIO $ dyn139 ptr_glTexBumpParameterivATI v1 v2
-
-{-# NOINLINE ptr_glTexBumpParameterivATI #-}
-ptr_glTexBumpParameterivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glTexBumpParameterivATI = unsafePerformIO $ getCommand "glTexBumpParameterivATI"
-
--- glTexCoord1bOES -------------------------------------------------------------
-
-glTexCoord1bOES
-  :: MonadIO m
-  => GLbyte -- ^ @s@.
-  -> m ()
-glTexCoord1bOES v1 = liftIO $ dyn474 ptr_glTexCoord1bOES v1
-
-{-# NOINLINE ptr_glTexCoord1bOES #-}
-ptr_glTexCoord1bOES :: FunPtr (GLbyte -> IO ())
-ptr_glTexCoord1bOES = unsafePerformIO $ getCommand "glTexCoord1bOES"
-
--- glTexCoord1bvOES ------------------------------------------------------------
-
-glTexCoord1bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
-  -> m ()
-glTexCoord1bvOES v1 = liftIO $ dyn38 ptr_glTexCoord1bvOES v1
-
-{-# NOINLINE ptr_glTexCoord1bvOES #-}
-ptr_glTexCoord1bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glTexCoord1bvOES = unsafePerformIO $ getCommand "glTexCoord1bvOES"
-
--- glTexCoord1d ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1dv'.
-glTexCoord1d
-  :: MonadIO m
-  => GLdouble -- ^ @s@ of type @CoordD@.
-  -> m ()
-glTexCoord1d v1 = liftIO $ dyn81 ptr_glTexCoord1d v1
-
-{-# NOINLINE ptr_glTexCoord1d #-}
-ptr_glTexCoord1d :: FunPtr (GLdouble -> IO ())
-ptr_glTexCoord1d = unsafePerformIO $ getCommand "glTexCoord1d"
 
diff --git a/src/Graphics/GL/Functions/F25.hs b/src/Graphics/GL/Functions/F25.hs
--- a/src/Graphics/GL/Functions/F25.hs
+++ b/src/Graphics/GL/Functions/F25.hs
@@ -15,6 +15,15 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F25 (
+  glTexBufferOES,
+  glTexBufferRange,
+  glTexBufferRangeEXT,
+  glTexBufferRangeOES,
+  glTexBumpParameterfvATI,
+  glTexBumpParameterivATI,
+  glTexCoord1bOES,
+  glTexCoord1bvOES,
+  glTexCoord1d,
   glTexCoord1dv,
   glTexCoord1f,
   glTexCoord1fv,
@@ -105,16 +114,7 @@
   glTexEnvxvOES,
   glTexFilterFuncSGIS,
   glTexGend,
-  glTexGendv,
-  glTexGenf,
-  glTexGenfOES,
-  glTexGenfv,
-  glTexGenfvOES,
-  glTexGeni,
-  glTexGeniOES,
-  glTexGeniv,
-  glTexGenivOES,
-  glTexGenxOES
+  glTexGendv
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,135 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glTexBufferOES --------------------------------------------------------------
+
+-- | This command is an alias for 'glTexBuffer'.
+glTexBufferOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTexBufferOES v1 v2 v3 = liftIO $ dyn30 ptr_glTexBufferOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexBufferOES #-}
+ptr_glTexBufferOES :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glTexBufferOES = unsafePerformIO $ getCommand "glTexBufferOES"
+
+-- glTexBufferRange ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBufferRange.xhtml OpenGL 4.x>.
+glTexBufferRange
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTexBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn748 ptr_glTexBufferRange v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexBufferRange #-}
+ptr_glTexBufferRange :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTexBufferRange = unsafePerformIO $ getCommand "glTexBufferRange"
+
+-- glTexBufferRangeEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glTexBufferRange'.
+glTexBufferRangeEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTexBufferRangeEXT v1 v2 v3 v4 v5 = liftIO $ dyn748 ptr_glTexBufferRangeEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexBufferRangeEXT #-}
+ptr_glTexBufferRangeEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTexBufferRangeEXT = unsafePerformIO $ getCommand "glTexBufferRangeEXT"
+
+-- glTexBufferRangeOES ---------------------------------------------------------
+
+-- | This command is an alias for 'glTexBufferRange'.
+glTexBufferRangeOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTexBufferRangeOES v1 v2 v3 v4 v5 = liftIO $ dyn748 ptr_glTexBufferRangeOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexBufferRangeOES #-}
+ptr_glTexBufferRangeOES :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTexBufferRangeOES = unsafePerformIO $ getCommand "glTexBufferRangeOES"
+
+-- glTexBumpParameterfvATI -----------------------------------------------------
+
+glTexBumpParameterfvATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
+  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glTexBumpParameterfvATI v1 v2 = liftIO $ dyn97 ptr_glTexBumpParameterfvATI v1 v2
+
+{-# NOINLINE ptr_glTexBumpParameterfvATI #-}
+ptr_glTexBumpParameterfvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexBumpParameterfvATI = unsafePerformIO $ getCommand "glTexBumpParameterfvATI"
+
+-- glTexBumpParameterivATI -----------------------------------------------------
+
+glTexBumpParameterivATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
+  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glTexBumpParameterivATI v1 v2 = liftIO $ dyn139 ptr_glTexBumpParameterivATI v1 v2
+
+{-# NOINLINE ptr_glTexBumpParameterivATI #-}
+ptr_glTexBumpParameterivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glTexBumpParameterivATI = unsafePerformIO $ getCommand "glTexBumpParameterivATI"
+
+-- glTexCoord1bOES -------------------------------------------------------------
+
+glTexCoord1bOES
+  :: MonadIO m
+  => GLbyte -- ^ @s@.
+  -> m ()
+glTexCoord1bOES v1 = liftIO $ dyn475 ptr_glTexCoord1bOES v1
+
+{-# NOINLINE ptr_glTexCoord1bOES #-}
+ptr_glTexCoord1bOES :: FunPtr (GLbyte -> IO ())
+ptr_glTexCoord1bOES = unsafePerformIO $ getCommand "glTexCoord1bOES"
+
+-- glTexCoord1bvOES ------------------------------------------------------------
+
+glTexCoord1bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
+  -> m ()
+glTexCoord1bvOES v1 = liftIO $ dyn38 ptr_glTexCoord1bvOES v1
+
+{-# NOINLINE ptr_glTexCoord1bvOES #-}
+ptr_glTexCoord1bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glTexCoord1bvOES = unsafePerformIO $ getCommand "glTexCoord1bvOES"
+
+-- glTexCoord1d ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1dv'.
+glTexCoord1d
+  :: MonadIO m
+  => GLdouble -- ^ @s@ of type @CoordD@.
+  -> m ()
+glTexCoord1d v1 = liftIO $ dyn81 ptr_glTexCoord1d v1
+
+{-# NOINLINE ptr_glTexCoord1d #-}
+ptr_glTexCoord1d :: FunPtr (GLdouble -> IO ())
+ptr_glTexCoord1d = unsafePerformIO $ getCommand "glTexCoord1d"
+
 -- glTexCoord1dv ---------------------------------------------------------------
 
 -- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
@@ -169,7 +298,7 @@
   :: MonadIO m
   => GLhalfNV -- ^ @s@ of type @Half16NV@.
   -> m ()
-glTexCoord1hNV v1 = liftIO $ dyn285 ptr_glTexCoord1hNV v1
+glTexCoord1hNV v1 = liftIO $ dyn286 ptr_glTexCoord1hNV v1
 
 {-# NOINLINE ptr_glTexCoord1hNV #-}
 ptr_glTexCoord1hNV :: FunPtr (GLhalfNV -> IO ())
@@ -220,7 +349,7 @@
   :: MonadIO m
   => GLshort -- ^ @s@ of type @CoordS@.
   -> m ()
-glTexCoord1s v1 = liftIO $ dyn475 ptr_glTexCoord1s v1
+glTexCoord1s v1 = liftIO $ dyn476 ptr_glTexCoord1s v1
 
 {-# NOINLINE ptr_glTexCoord1s #-}
 ptr_glTexCoord1s :: FunPtr (GLshort -> IO ())
@@ -270,7 +399,7 @@
   => GLbyte -- ^ @s@.
   -> GLbyte -- ^ @t@.
   -> m ()
-glTexCoord2bOES v1 v2 = liftIO $ dyn748 ptr_glTexCoord2bOES v1 v2
+glTexCoord2bOES v1 v2 = liftIO $ dyn749 ptr_glTexCoord2bOES v1 v2
 
 {-# NOINLINE ptr_glTexCoord2bOES #-}
 ptr_glTexCoord2bOES :: FunPtr (GLbyte -> GLbyte -> IO ())
@@ -296,7 +425,7 @@
   => GLdouble -- ^ @s@ of type @CoordD@.
   -> GLdouble -- ^ @t@ of type @CoordD@.
   -> m ()
-glTexCoord2d v1 v2 = liftIO $ dyn220 ptr_glTexCoord2d v1 v2
+glTexCoord2d v1 v2 = liftIO $ dyn221 ptr_glTexCoord2d v1 v2
 
 {-# NOINLINE ptr_glTexCoord2d #-}
 ptr_glTexCoord2d :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -323,7 +452,7 @@
   => GLfloat -- ^ @s@ of type @CoordF@.
   -> GLfloat -- ^ @t@ of type @CoordF@.
   -> m ()
-glTexCoord2f v1 v2 = liftIO $ dyn225 ptr_glTexCoord2f v1 v2
+glTexCoord2f v1 v2 = liftIO $ dyn226 ptr_glTexCoord2f v1 v2
 
 {-# NOINLINE ptr_glTexCoord2f #-}
 ptr_glTexCoord2f :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -379,7 +508,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn749 ptr_glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn750 ptr_glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
 
 {-# NOINLINE ptr_glTexCoord2fColor4fNormal3fVertex3fSUN #-}
 ptr_glTexCoord2fColor4fNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -394,7 +523,7 @@
   -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn750 ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
+glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn751 ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN #-}
 ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -414,7 +543,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn751 ptr_glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn752 ptr_glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexCoord2fColor4ubVertex3fSUN #-}
 ptr_glTexCoord2fColor4ubVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -428,7 +557,7 @@
   -> Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn752 ptr_glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3
+glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn753 ptr_glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3
 
 {-# NOINLINE ptr_glTexCoord2fColor4ubVertex3fvSUN #-}
 ptr_glTexCoord2fColor4ubVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ())
@@ -477,7 +606,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 = liftIO $ dyn255 ptr_glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5
+glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 = liftIO $ dyn256 ptr_glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glTexCoord2fVertex3fSUN #-}
 ptr_glTexCoord2fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -517,7 +646,7 @@
   => GLhalfNV -- ^ @s@ of type @Half16NV@.
   -> GLhalfNV -- ^ @t@ of type @Half16NV@.
   -> m ()
-glTexCoord2hNV v1 v2 = liftIO $ dyn753 ptr_glTexCoord2hNV v1 v2
+glTexCoord2hNV v1 v2 = liftIO $ dyn754 ptr_glTexCoord2hNV v1 v2
 
 {-# NOINLINE ptr_glTexCoord2hNV #-}
 ptr_glTexCoord2hNV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
@@ -543,7 +672,7 @@
   => GLint -- ^ @s@ of type @CoordI@.
   -> GLint -- ^ @t@ of type @CoordI@.
   -> m ()
-glTexCoord2i v1 v2 = liftIO $ dyn270 ptr_glTexCoord2i v1 v2
+glTexCoord2i v1 v2 = liftIO $ dyn271 ptr_glTexCoord2i v1 v2
 
 {-# NOINLINE ptr_glTexCoord2i #-}
 ptr_glTexCoord2i :: FunPtr (GLint -> GLint -> IO ())
@@ -570,7 +699,7 @@
   => GLshort -- ^ @s@ of type @CoordS@.
   -> GLshort -- ^ @t@ of type @CoordS@.
   -> m ()
-glTexCoord2s v1 v2 = liftIO $ dyn694 ptr_glTexCoord2s v1 v2
+glTexCoord2s v1 v2 = liftIO $ dyn695 ptr_glTexCoord2s v1 v2
 
 {-# NOINLINE ptr_glTexCoord2s #-}
 ptr_glTexCoord2s :: FunPtr (GLshort -> GLshort -> IO ())
@@ -596,7 +725,7 @@
   => GLfixed -- ^ @s@.
   -> GLfixed -- ^ @t@.
   -> m ()
-glTexCoord2xOES v1 v2 = liftIO $ dyn227 ptr_glTexCoord2xOES v1 v2
+glTexCoord2xOES v1 v2 = liftIO $ dyn228 ptr_glTexCoord2xOES v1 v2
 
 {-# NOINLINE ptr_glTexCoord2xOES #-}
 ptr_glTexCoord2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -897,7 +1026,7 @@
   -> GLfloat -- ^ @z@.
   -> GLfloat -- ^ @w@.
   -> m ()
-glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn754 ptr_glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
+glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn755 ptr_glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
 
 {-# NOINLINE ptr_glTexCoord4fColor4fNormal3fVertex4fSUN #-}
 ptr_glTexCoord4fColor4fNormal3fVertex4fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -912,7 +1041,7 @@
   -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4 = liftIO $ dyn750 ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4
+glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4 = liftIO $ dyn751 ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN #-}
 ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
@@ -1094,7 +1223,7 @@
 
 glTexCoordP1ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glTexCoordP1ui v1 v2 = liftIO $ dyn17 ptr_glTexCoordP1ui v1 v2
@@ -1107,7 +1236,7 @@
 
 glTexCoordP1uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glTexCoordP1uiv v1 v2 = liftIO $ dyn128 ptr_glTexCoordP1uiv v1 v2
@@ -1120,7 +1249,7 @@
 
 glTexCoordP2ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glTexCoordP2ui v1 v2 = liftIO $ dyn17 ptr_glTexCoordP2ui v1 v2
@@ -1133,7 +1262,7 @@
 
 glTexCoordP2uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glTexCoordP2uiv v1 v2 = liftIO $ dyn128 ptr_glTexCoordP2uiv v1 v2
@@ -1146,7 +1275,7 @@
 
 glTexCoordP3ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glTexCoordP3ui v1 v2 = liftIO $ dyn17 ptr_glTexCoordP3ui v1 v2
@@ -1159,7 +1288,7 @@
 
 glTexCoordP3uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glTexCoordP3uiv v1 v2 = liftIO $ dyn128 ptr_glTexCoordP3uiv v1 v2
@@ -1172,7 +1301,7 @@
 
 glTexCoordP4ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> GLuint -- ^ @coords@.
   -> m ()
 glTexCoordP4ui v1 v2 = liftIO $ dyn17 ptr_glTexCoordP4ui v1 v2
@@ -1185,7 +1314,7 @@
 
 glTexCoordP4uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
   -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glTexCoordP4uiv v1 v2 = liftIO $ dyn128 ptr_glTexCoordP4uiv v1 v2
@@ -1320,8 +1449,8 @@
 
 glTexEnvx
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glTexEnvx v1 v2 v3 = liftIO $ dyn165 ptr_glTexEnvx v1 v2 v3
@@ -1334,8 +1463,8 @@
 
 glTexEnvxOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glTexEnvxOES v1 v2 v3 = liftIO $ dyn165 ptr_glTexEnvxOES v1 v2 v3
@@ -1348,8 +1477,8 @@
 
 glTexEnvxv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glTexEnvxv v1 v2 v3 = liftIO $ dyn166 ptr_glTexEnvxv v1 v2 v3
@@ -1362,8 +1491,8 @@
 
 glTexEnvxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glTexEnvxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glTexEnvxvOES v1 v2 v3
@@ -1381,7 +1510,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLfloat -- ^ @weights@ pointing to @n@ elements of type @GLfloat@.
   -> m ()
-glTexFilterFuncSGIS v1 v2 v3 v4 = liftIO $ dyn462 ptr_glTexFilterFuncSGIS v1 v2 v3 v4
+glTexFilterFuncSGIS v1 v2 v3 v4 = liftIO $ dyn463 ptr_glTexFilterFuncSGIS v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTexFilterFuncSGIS #-}
 ptr_glTexFilterFuncSGIS :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1396,7 +1525,7 @@
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> GLdouble -- ^ @param@.
   -> m ()
-glTexGend v1 v2 v3 = liftIO $ dyn755 ptr_glTexGend v1 v2 v3
+glTexGend v1 v2 v3 = liftIO $ dyn756 ptr_glTexGend v1 v2 v3
 
 {-# NOINLINE ptr_glTexGend #-}
 ptr_glTexGend :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
@@ -1411,139 +1540,9 @@
   -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glTexGendv v1 v2 v3 = liftIO $ dyn361 ptr_glTexGendv v1 v2 v3
+glTexGendv v1 v2 v3 = liftIO $ dyn362 ptr_glTexGendv v1 v2 v3
 
 {-# NOINLINE ptr_glTexGendv #-}
 ptr_glTexGendv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
 ptr_glTexGendv = unsafePerformIO $ getCommand "glTexGendv"
-
--- glTexGenf -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGenf
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glTexGenf v1 v2 v3 = liftIO $ dyn164 ptr_glTexGenf v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenf #-}
-ptr_glTexGenf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glTexGenf = unsafePerformIO $ getCommand "glTexGenf"
-
--- glTexGenfOES ----------------------------------------------------------------
-
-glTexGenfOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glTexGenfOES v1 v2 v3 = liftIO $ dyn164 ptr_glTexGenfOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenfOES #-}
-ptr_glTexGenfOES :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glTexGenfOES = unsafePerformIO $ getCommand "glTexGenfOES"
-
--- glTexGenfv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGenfv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glTexGenfv v1 v2 v3 = liftIO $ dyn135 ptr_glTexGenfv v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenfv #-}
-ptr_glTexGenfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexGenfv = unsafePerformIO $ getCommand "glTexGenfv"
-
--- glTexGenfvOES ---------------------------------------------------------------
-
-glTexGenfvOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glTexGenfvOES v1 v2 v3 = liftIO $ dyn135 ptr_glTexGenfvOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenfvOES #-}
-ptr_glTexGenfvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexGenfvOES = unsafePerformIO $ getCommand "glTexGenfvOES"
-
--- glTexGeni -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGeni
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glTexGeni v1 v2 v3 = liftIO $ dyn63 ptr_glTexGeni v1 v2 v3
-
-{-# NOINLINE ptr_glTexGeni #-}
-ptr_glTexGeni :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glTexGeni = unsafePerformIO $ getCommand "glTexGeni"
-
--- glTexGeniOES ----------------------------------------------------------------
-
-glTexGeniOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glTexGeniOES v1 v2 v3 = liftIO $ dyn63 ptr_glTexGeniOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGeniOES #-}
-ptr_glTexGeniOES :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glTexGeniOES = unsafePerformIO $ getCommand "glTexGeniOES"
-
--- glTexGeniv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGeniv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glTexGeniv v1 v2 v3 = liftIO $ dyn136 ptr_glTexGeniv v1 v2 v3
-
-{-# NOINLINE ptr_glTexGeniv #-}
-ptr_glTexGeniv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexGeniv = unsafePerformIO $ getCommand "glTexGeniv"
-
--- glTexGenivOES ---------------------------------------------------------------
-
-glTexGenivOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glTexGenivOES v1 v2 v3 = liftIO $ dyn136 ptr_glTexGenivOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenivOES #-}
-ptr_glTexGenivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexGenivOES = unsafePerformIO $ getCommand "glTexGenivOES"
-
--- glTexGenxOES ----------------------------------------------------------------
-
-glTexGenxOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glTexGenxOES v1 v2 v3 = liftIO $ dyn165 ptr_glTexGenxOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenxOES #-}
-ptr_glTexGenxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glTexGenxOES = unsafePerformIO $ getCommand "glTexGenxOES"
 
diff --git a/src/Graphics/GL/Functions/F26.hs b/src/Graphics/GL/Functions/F26.hs
--- a/src/Graphics/GL/Functions/F26.hs
+++ b/src/Graphics/GL/Functions/F26.hs
@@ -15,6 +15,15 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F26 (
+  glTexGenf,
+  glTexGenfOES,
+  glTexGenfv,
+  glTexGenfvOES,
+  glTexGeni,
+  glTexGeniOES,
+  glTexGeniv,
+  glTexGenivOES,
+  glTexGenxOES,
   glTexGenxvOES,
   glTexImage1D,
   glTexImage2D,
@@ -73,6 +82,7 @@
   glTextureBufferRange,
   glTextureBufferRangeEXT,
   glTextureColorMaskSGIS,
+  glTextureFoveationParametersQCOM,
   glTextureImage1DEXT,
   glTextureImage2DEXT,
   glTextureImage2DMultisampleCoverageNV,
@@ -104,17 +114,7 @@
   glTextureStorage2DEXT,
   glTextureStorage2DMultisample,
   glTextureStorage2DMultisampleEXT,
-  glTextureStorage3D,
-  glTextureStorage3DEXT,
-  glTextureStorage3DMultisample,
-  glTextureStorage3DMultisampleEXT,
-  glTextureStorageMem1DEXT,
-  glTextureStorageMem2DEXT,
-  glTextureStorageMem2DMultisampleEXT,
-  glTextureStorageMem3DEXT,
-  glTextureStorageMem3DMultisampleEXT,
-  glTextureStorageSparseAMD,
-  glTextureSubImage1D
+  glTextureStorage3D
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,12 +123,142 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glTexGenf -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGenf
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glTexGenf v1 v2 v3 = liftIO $ dyn164 ptr_glTexGenf v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenf #-}
+ptr_glTexGenf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glTexGenf = unsafePerformIO $ getCommand "glTexGenf"
+
+-- glTexGenfOES ----------------------------------------------------------------
+
+glTexGenfOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glTexGenfOES v1 v2 v3 = liftIO $ dyn164 ptr_glTexGenfOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenfOES #-}
+ptr_glTexGenfOES :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glTexGenfOES = unsafePerformIO $ getCommand "glTexGenfOES"
+
+-- glTexGenfv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGenfv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glTexGenfv v1 v2 v3 = liftIO $ dyn135 ptr_glTexGenfv v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenfv #-}
+ptr_glTexGenfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexGenfv = unsafePerformIO $ getCommand "glTexGenfv"
+
+-- glTexGenfvOES ---------------------------------------------------------------
+
+glTexGenfvOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glTexGenfvOES v1 v2 v3 = liftIO $ dyn135 ptr_glTexGenfvOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenfvOES #-}
+ptr_glTexGenfvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexGenfvOES = unsafePerformIO $ getCommand "glTexGenfvOES"
+
+-- glTexGeni -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGeni
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glTexGeni v1 v2 v3 = liftIO $ dyn63 ptr_glTexGeni v1 v2 v3
+
+{-# NOINLINE ptr_glTexGeni #-}
+ptr_glTexGeni :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glTexGeni = unsafePerformIO $ getCommand "glTexGeni"
+
+-- glTexGeniOES ----------------------------------------------------------------
+
+glTexGeniOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLint -- ^ @param@.
+  -> m ()
+glTexGeniOES v1 v2 v3 = liftIO $ dyn63 ptr_glTexGeniOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGeniOES #-}
+ptr_glTexGeniOES :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glTexGeniOES = unsafePerformIO $ getCommand "glTexGeniOES"
+
+-- glTexGeniv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGeniv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glTexGeniv v1 v2 v3 = liftIO $ dyn136 ptr_glTexGeniv v1 v2 v3
+
+{-# NOINLINE ptr_glTexGeniv #-}
+ptr_glTexGeniv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexGeniv = unsafePerformIO $ getCommand "glTexGeniv"
+
+-- glTexGenivOES ---------------------------------------------------------------
+
+glTexGenivOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glTexGenivOES v1 v2 v3 = liftIO $ dyn136 ptr_glTexGenivOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenivOES #-}
+ptr_glTexGenivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexGenivOES = unsafePerformIO $ getCommand "glTexGenivOES"
+
+-- glTexGenxOES ----------------------------------------------------------------
+
+glTexGenxOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glTexGenxOES v1 v2 v3 = liftIO $ dyn165 ptr_glTexGenxOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenxOES #-}
+ptr_glTexGenxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glTexGenxOES = unsafePerformIO $ getCommand "glTexGenxOES"
+
 -- glTexGenxvOES ---------------------------------------------------------------
 
 glTexGenxvOES
   :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glTexGenxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glTexGenxvOES v1 v2 v3
@@ -144,14 +274,14 @@
   :: MonadIO m
   => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
   -> m ()
-glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn756 ptr_glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8
+glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn757 ptr_glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTexImage1D #-}
 ptr_glTexImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -164,7 +294,7 @@
   :: MonadIO m
   => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
@@ -172,7 +302,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
   -> m ()
-glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn757 ptr_glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn758 ptr_glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexImage2D #-}
 ptr_glTexImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -183,14 +313,14 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2DMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage2DMultisample.xhtml OpenGL 4.x>.
 glTexImage2DMultisample
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTexImage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn758 ptr_glTexImage2DMultisample v1 v2 v3 v4 v5 v6
+glTexImage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn759 ptr_glTexImage2DMultisample v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTexImage2DMultisample #-}
 ptr_glTexImage2DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -200,7 +330,7 @@
 
 glTexImage2DMultisampleCoverageNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @coverageSamples@.
   -> GLsizei -- ^ @colorSamples@.
   -> GLint -- ^ @internalFormat@.
@@ -208,7 +338,7 @@
   -> GLsizei -- ^ @height@.
   -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn759 ptr_glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7
+glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn760 ptr_glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexImage2DMultisampleCoverageNV #-}
 ptr_glTexImage2DMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -221,7 +351,7 @@
   :: MonadIO m
   => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
@@ -230,7 +360,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn760 ptr_glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn761 ptr_glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
 {-# NOINLINE ptr_glTexImage3D #-}
 ptr_glTexImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -252,7 +382,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn761 ptr_glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn762 ptr_glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
 {-# NOINLINE ptr_glTexImage3DEXT #-}
 ptr_glTexImage3DEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -263,15 +393,15 @@
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3DMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage3DMultisample.xhtml OpenGL 4.x>.
 glTexImage3DMultisample
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn762 ptr_glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7
+glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn763 ptr_glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexImage3DMultisample #-}
 ptr_glTexImage3DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -281,7 +411,7 @@
 
 glTexImage3DMultisampleCoverageNV
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @coverageSamples@.
   -> GLsizei -- ^ @colorSamples@.
   -> GLint -- ^ @internalFormat@.
@@ -290,7 +420,7 @@
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn763 ptr_glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
+glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn764 ptr_glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTexImage3DMultisampleCoverageNV #-}
 ptr_glTexImage3DMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -300,18 +430,18 @@
 
 glTexImage3DOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> GLint -- ^ @border@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn761 ptr_glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn762 ptr_glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
 {-# NOINLINE ptr_glTexImage3DOES #-}
 ptr_glTexImage3DOES :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -333,7 +463,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth,size4d)@ elements of type @a@.
   -> m ()
-glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn764 ptr_glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn765 ptr_glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glTexImage4DSGIS #-}
 ptr_glTexImage4DSGIS :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -353,7 +483,7 @@
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @commit@.
   -> m ()
-glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn765 ptr_glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn766 ptr_glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexPageCommitmentARB #-}
 ptr_glTexPageCommitmentARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -374,7 +504,7 @@
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @commit@.
   -> m ()
-glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn765 ptr_glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn766 ptr_glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexPageCommitmentEXT #-}
 ptr_glTexPageCommitmentEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -434,7 +564,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glTexParameterIuiv v1 v2 v3 = liftIO $ dyn422 ptr_glTexParameterIuiv v1 v2 v3
+glTexParameterIuiv v1 v2 v3 = liftIO $ dyn423 ptr_glTexParameterIuiv v1 v2 v3
 
 {-# NOINLINE ptr_glTexParameterIuiv #-}
 ptr_glTexParameterIuiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -449,7 +579,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn422 ptr_glTexParameterIuivEXT v1 v2 v3
+glTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn423 ptr_glTexParameterIuivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glTexParameterIuivEXT #-}
 ptr_glTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -464,7 +594,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glTexParameterIuivOES v1 v2 v3 = liftIO $ dyn422 ptr_glTexParameterIuivOES v1 v2 v3
+glTexParameterIuivOES v1 v2 v3 = liftIO $ dyn423 ptr_glTexParameterIuivOES v1 v2 v3
 
 {-# NOINLINE ptr_glTexParameterIuivOES #-}
 ptr_glTexParameterIuivOES :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -534,8 +664,8 @@
 
 glTexParameterx
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glTexParameterx v1 v2 v3 = liftIO $ dyn165 ptr_glTexParameterx v1 v2 v3
@@ -548,8 +678,8 @@
 
 glTexParameterxOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> GLfixed -- ^ @param@.
   -> m ()
 glTexParameterxOES v1 v2 v3 = liftIO $ dyn165 ptr_glTexParameterxOES v1 v2 v3
@@ -562,8 +692,8 @@
 
 glTexParameterxv
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glTexParameterxv v1 v2 v3 = liftIO $ dyn166 ptr_glTexParameterxv v1 v2 v3
@@ -576,8 +706,8 @@
 
 glTexParameterxvOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
   -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
   -> m ()
 glTexParameterxvOES v1 v2 v3 = liftIO $ dyn166 ptr_glTexParameterxvOES v1 v2 v3
@@ -604,12 +734,12 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage1D.xhtml OpenGL 4.x>.
 glTexStorage1D
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> m ()
-glTexStorage1D v1 v2 v3 v4 = liftIO $ dyn766 ptr_glTexStorage1D v1 v2 v3 v4
+glTexStorage1D v1 v2 v3 v4 = liftIO $ dyn767 ptr_glTexStorage1D v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTexStorage1D #-}
 ptr_glTexStorage1D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
@@ -620,12 +750,12 @@
 -- | This command is an alias for 'glTexStorage1D'.
 glTexStorage1DEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> m ()
-glTexStorage1DEXT v1 v2 v3 v4 = liftIO $ dyn766 ptr_glTexStorage1DEXT v1 v2 v3 v4
+glTexStorage1DEXT v1 v2 v3 v4 = liftIO $ dyn767 ptr_glTexStorage1DEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTexStorage1DEXT #-}
 ptr_glTexStorage1DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
@@ -636,13 +766,13 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2D.xhtml OpenGL 4.x>.
 glTexStorage2D
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glTexStorage2D v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glTexStorage2D v1 v2 v3 v4 v5
+glTexStorage2D v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glTexStorage2D v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glTexStorage2D #-}
 ptr_glTexStorage2D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
@@ -653,13 +783,13 @@
 -- | This command is an alias for 'glTexStorage2D'.
 glTexStorage2DEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glTexStorage2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glTexStorage2DEXT v1 v2 v3 v4 v5
+glTexStorage2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn706 ptr_glTexStorage2DEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glTexStorage2DEXT #-}
 ptr_glTexStorage2DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
@@ -670,14 +800,14 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2DMultisample.xhtml OpenGL 4.x>.
 glTexStorage2DMultisample
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTexStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn758 ptr_glTexStorage2DMultisample v1 v2 v3 v4 v5 v6
+glTexStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn759 ptr_glTexStorage2DMultisample v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTexStorage2DMultisample #-}
 ptr_glTexStorage2DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -688,14 +818,14 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3D.xhtml OpenGL 4.x>.
 glTexStorage3D
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> m ()
-glTexStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn767 ptr_glTexStorage3D v1 v2 v3 v4 v5 v6
+glTexStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn768 ptr_glTexStorage3D v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTexStorage3D #-}
 ptr_glTexStorage3D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
@@ -706,14 +836,14 @@
 -- | This command is an alias for 'glTexStorage3D'.
 glTexStorage3DEXT
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> m ()
-glTexStorage3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn767 ptr_glTexStorage3DEXT v1 v2 v3 v4 v5 v6
+glTexStorage3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn768 ptr_glTexStorage3DEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTexStorage3DEXT #-}
 ptr_glTexStorage3DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
@@ -724,15 +854,15 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
 glTexStorage3DMultisample
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn762 ptr_glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
+glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn763 ptr_glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexStorage3DMultisample #-}
 ptr_glTexStorage3DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -743,15 +873,15 @@
 -- | This command is an alias for 'glTexStorage3DMultisample'.
 glTexStorage3DMultisampleOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn762 ptr_glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7
+glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn763 ptr_glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexStorage3DMultisampleOES #-}
 ptr_glTexStorage3DMultisampleOES :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -768,7 +898,7 @@
   -> GLuint -- ^ @memory@.
   -> GLuint64 -- ^ @offset@.
   -> m ()
-glTexStorageMem1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn768 ptr_glTexStorageMem1DEXT v1 v2 v3 v4 v5 v6
+glTexStorageMem1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn769 ptr_glTexStorageMem1DEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTexStorageMem1DEXT #-}
 ptr_glTexStorageMem1DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
@@ -786,7 +916,7 @@
   -> GLuint -- ^ @memory@.
   -> GLuint64 -- ^ @offset@.
   -> m ()
-glTexStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn769 ptr_glTexStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7
+glTexStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn770 ptr_glTexStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexStorageMem2DEXT #-}
 ptr_glTexStorageMem2DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
@@ -805,7 +935,7 @@
   -> GLuint -- ^ @memory@.
   -> GLuint64 -- ^ @offset@.
   -> m ()
-glTexStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn770 ptr_glTexStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
+glTexStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn771 ptr_glTexStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTexStorageMem2DMultisampleEXT #-}
 ptr_glTexStorageMem2DMultisampleEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
@@ -824,7 +954,7 @@
   -> GLuint -- ^ @memory@.
   -> GLuint64 -- ^ @offset@.
   -> m ()
-glTexStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn771 ptr_glTexStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8
+glTexStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn772 ptr_glTexStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTexStorageMem3DEXT #-}
 ptr_glTexStorageMem3DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
@@ -844,7 +974,7 @@
   -> GLuint -- ^ @memory@.
   -> GLuint64 -- ^ @offset@.
   -> m ()
-glTexStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn772 ptr_glTexStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn773 ptr_glTexStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexStorageMem3DMultisampleEXT #-}
 ptr_glTexStorageMem3DMultisampleEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
@@ -854,15 +984,15 @@
 
 glTexStorageSparseAMD
   :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalFormat@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalFormat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> GLsizei -- ^ @layers@.
-  -> GLbitfield -- ^ @flags@.
+  -> GLbitfield -- ^ @flags@ of type [TextureStorageMaskAMD](Graphics-GL-Groups.html#TextureStorageMaskAMD).
   -> m ()
-glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn773 ptr_glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7
+glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn774 ptr_glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexStorageSparseAMD #-}
 ptr_glTexStorageSparseAMD :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
@@ -881,7 +1011,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
   -> m ()
-glTexSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn774 ptr_glTexSubImage1D v1 v2 v3 v4 v5 v6 v7
+glTexSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn775 ptr_glTexSubImage1D v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexSubImage1D #-}
 ptr_glTexSubImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -900,7 +1030,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
   -> m ()
-glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn774 ptr_glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
+glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn775 ptr_glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTexSubImage1DEXT #-}
 ptr_glTexSubImage1DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -921,7 +1051,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
   -> m ()
-glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn775 ptr_glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn776 ptr_glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexSubImage2D #-}
 ptr_glTexSubImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -942,7 +1072,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
   -> m ()
-glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn775 ptr_glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn776 ptr_glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexSubImage2DEXT #-}
 ptr_glTexSubImage2DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -965,7 +1095,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn276 ptr_glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn277 ptr_glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glTexSubImage3D #-}
 ptr_glTexSubImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -988,7 +1118,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn276 ptr_glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn277 ptr_glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glTexSubImage3DEXT #-}
 ptr_glTexSubImage3DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -998,7 +1128,7 @@
 
 glTexSubImage3DOES
   :: MonadIO m
-  => GLenum -- ^ @target@.
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@.
   -> GLint -- ^ @xoffset@.
   -> GLint -- ^ @yoffset@.
@@ -1006,11 +1136,11 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn276 ptr_glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn277 ptr_glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glTexSubImage3DOES #-}
 ptr_glTexSubImage3DOES :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1034,7 +1164,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth,size4d)@ elements of type @a@.
   -> m ()
-glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn776 ptr_glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
+glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn777 ptr_glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
 
 {-# NOINLINE ptr_glTexSubImage4DSGIS #-}
 ptr_glTexSubImage4DSGIS :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1069,10 +1199,10 @@
 glTextureBuffer
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @buffer@.
   -> m ()
-glTextureBuffer v1 v2 v3 = liftIO $ dyn738 ptr_glTextureBuffer v1 v2 v3
+glTextureBuffer v1 v2 v3 = liftIO $ dyn739 ptr_glTextureBuffer v1 v2 v3
 
 {-# NOINLINE ptr_glTextureBuffer #-}
 ptr_glTextureBuffer :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
@@ -1084,7 +1214,7 @@
   :: MonadIO m
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @buffer@.
   -> m ()
 glTextureBufferEXT v1 v2 v3 v4 = liftIO $ dyn598 ptr_glTextureBufferEXT v1 v2 v3 v4
@@ -1099,12 +1229,12 @@
 glTextureBufferRange
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> m ()
-glTextureBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn777 ptr_glTextureBufferRange v1 v2 v3 v4 v5
+glTextureBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn778 ptr_glTextureBufferRange v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glTextureBufferRange #-}
 ptr_glTextureBufferRange :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
@@ -1116,12 +1246,12 @@
   :: MonadIO m
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @buffer@.
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> m ()
-glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn778 ptr_glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6
+glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn779 ptr_glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTextureBufferRangeEXT #-}
 ptr_glTextureBufferRangeEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
@@ -1142,6 +1272,25 @@
 ptr_glTextureColorMaskSGIS :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
 ptr_glTextureColorMaskSGIS = unsafePerformIO $ getCommand "glTextureColorMaskSGIS"
 
+-- glTextureFoveationParametersQCOM --------------------------------------------
+
+glTextureFoveationParametersQCOM
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLuint -- ^ @layer@.
+  -> GLuint -- ^ @focalPoint@.
+  -> GLfloat -- ^ @focalX@ of type @CheckedFloat32@.
+  -> GLfloat -- ^ @focalY@ of type @CheckedFloat32@.
+  -> GLfloat -- ^ @gainX@ of type @CheckedFloat32@.
+  -> GLfloat -- ^ @gainY@ of type @CheckedFloat32@.
+  -> GLfloat -- ^ @foveaArea@ of type @CheckedFloat32@.
+  -> m ()
+glTextureFoveationParametersQCOM v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn289 ptr_glTextureFoveationParametersQCOM v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureFoveationParametersQCOM #-}
+ptr_glTextureFoveationParametersQCOM :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTextureFoveationParametersQCOM = unsafePerformIO $ getCommand "glTextureFoveationParametersQCOM"
+
 -- glTextureImage1DEXT ---------------------------------------------------------
 
 glTextureImage1DEXT
@@ -1149,14 +1298,14 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
   -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
   -> m ()
-glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn779 ptr_glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn780 ptr_glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTextureImage1DEXT #-}
 ptr_glTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1169,7 +1318,7 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLint -- ^ @border@ of type @CheckedInt32@.
@@ -1177,7 +1326,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
   -> m ()
-glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn780 ptr_glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn781 ptr_glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
 {-# NOINLINE ptr_glTextureImage2DEXT #-}
 ptr_glTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1188,7 +1337,7 @@
 glTextureImage2DMultisampleCoverageNV
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @coverageSamples@.
   -> GLsizei -- ^ @colorSamples@.
   -> GLint -- ^ @internalFormat@.
@@ -1196,7 +1345,7 @@
   -> GLsizei -- ^ @height@.
   -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn781 ptr_glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
+glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn782 ptr_glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTextureImage2DMultisampleCoverageNV #-}
 ptr_glTextureImage2DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -1207,14 +1356,14 @@
 glTextureImage2DMultisampleNV
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
   -> GLint -- ^ @internalFormat@.
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn782 ptr_glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7
+glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn783 ptr_glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTextureImage2DMultisampleNV #-}
 ptr_glTextureImage2DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -1227,7 +1376,7 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLint -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
@@ -1236,7 +1385,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn783 ptr_glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn784 ptr_glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
 
 {-# NOINLINE ptr_glTextureImage3DEXT #-}
 ptr_glTextureImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -1247,7 +1396,7 @@
 glTextureImage3DMultisampleCoverageNV
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @coverageSamples@.
   -> GLsizei -- ^ @colorSamples@.
   -> GLint -- ^ @internalFormat@.
@@ -1256,7 +1405,7 @@
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn784 ptr_glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn785 ptr_glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTextureImage3DMultisampleCoverageNV #-}
 ptr_glTextureImage3DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -1267,7 +1416,7 @@
 glTextureImage3DMultisampleNV
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
   -> GLint -- ^ @internalFormat@.
   -> GLsizei -- ^ @width@.
@@ -1275,7 +1424,7 @@
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn785 ptr_glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8
+glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn786 ptr_glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTextureImage3DMultisampleNV #-}
 ptr_glTextureImage3DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -1332,7 +1481,7 @@
   -> GLsizei -- ^ @depth@.
   -> GLboolean -- ^ @commit@.
   -> m ()
-glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn786 ptr_glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn787 ptr_glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTexturePageCommitmentEXT #-}
 ptr_glTexturePageCommitmentEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -1344,10 +1493,10 @@
 glTextureParameterIiv
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLint -- ^ @params@.
   -> m ()
-glTextureParameterIiv v1 v2 v3 = liftIO $ dyn341 ptr_glTextureParameterIiv v1 v2 v3
+glTextureParameterIiv v1 v2 v3 = liftIO $ dyn342 ptr_glTextureParameterIiv v1 v2 v3
 
 {-# NOINLINE ptr_glTextureParameterIiv #-}
 ptr_glTextureParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1362,7 +1511,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glTextureParameterIivEXT v1 v2 v3 v4
+glTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn372 ptr_glTextureParameterIivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTextureParameterIivEXT #-}
 ptr_glTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -1374,10 +1523,10 @@
 glTextureParameterIuiv
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLuint -- ^ @params@.
   -> m ()
-glTextureParameterIuiv v1 v2 v3 = liftIO $ dyn384 ptr_glTextureParameterIuiv v1 v2 v3
+glTextureParameterIuiv v1 v2 v3 = liftIO $ dyn385 ptr_glTextureParameterIuiv v1 v2 v3
 
 {-# NOINLINE ptr_glTextureParameterIuiv #-}
 ptr_glTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
@@ -1392,7 +1541,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
   -> m ()
-glTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn429 ptr_glTextureParameterIuivEXT v1 v2 v3 v4
+glTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn430 ptr_glTextureParameterIuivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTextureParameterIuivEXT #-}
 ptr_glTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
@@ -1404,7 +1553,7 @@
 glTextureParameterf
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> GLfloat -- ^ @param@.
   -> m ()
 glTextureParameterf v1 v2 v3 = liftIO $ dyn505 ptr_glTextureParameterf v1 v2 v3
@@ -1423,7 +1572,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
   -> m ()
-glTextureParameterfEXT v1 v2 v3 v4 = liftIO $ dyn787 ptr_glTextureParameterfEXT v1 v2 v3 v4
+glTextureParameterfEXT v1 v2 v3 v4 = liftIO $ dyn788 ptr_glTextureParameterfEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTextureParameterfEXT #-}
 ptr_glTextureParameterfEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
@@ -1435,10 +1584,10 @@
 glTextureParameterfv
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLfloat -- ^ @param@.
   -> m ()
-glTextureParameterfv v1 v2 v3 = liftIO $ dyn357 ptr_glTextureParameterfv v1 v2 v3
+glTextureParameterfv v1 v2 v3 = liftIO $ dyn358 ptr_glTextureParameterfv v1 v2 v3
 
 {-# NOINLINE ptr_glTextureParameterfv #-}
 ptr_glTextureParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -1453,7 +1602,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
   -> m ()
-glTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn430 ptr_glTextureParameterfvEXT v1 v2 v3 v4
+glTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn431 ptr_glTextureParameterfvEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTextureParameterfvEXT #-}
 ptr_glTextureParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
@@ -1465,10 +1614,10 @@
 glTextureParameteri
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> GLint -- ^ @param@.
   -> m ()
-glTextureParameteri v1 v2 v3 = liftIO $ dyn481 ptr_glTextureParameteri v1 v2 v3
+glTextureParameteri v1 v2 v3 = liftIO $ dyn482 ptr_glTextureParameteri v1 v2 v3
 
 {-# NOINLINE ptr_glTextureParameteri #-}
 ptr_glTextureParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1484,7 +1633,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> GLint -- ^ @param@ of type @CheckedInt32@.
   -> m ()
-glTextureParameteriEXT v1 v2 v3 v4 = liftIO $ dyn788 ptr_glTextureParameteriEXT v1 v2 v3 v4
+glTextureParameteriEXT v1 v2 v3 v4 = liftIO $ dyn789 ptr_glTextureParameteriEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTextureParameteriEXT #-}
 ptr_glTextureParameteriEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
@@ -1496,10 +1645,10 @@
 glTextureParameteriv
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLint -- ^ @param@.
   -> m ()
-glTextureParameteriv v1 v2 v3 = liftIO $ dyn341 ptr_glTextureParameteriv v1 v2 v3
+glTextureParameteriv v1 v2 v3 = liftIO $ dyn342 ptr_glTextureParameteriv v1 v2 v3
 
 {-# NOINLINE ptr_glTextureParameteriv #-}
 ptr_glTextureParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -1514,7 +1663,7 @@
   -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
   -> m ()
-glTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn371 ptr_glTextureParameterivEXT v1 v2 v3 v4
+glTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn372 ptr_glTextureParameterivEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTextureParameterivEXT #-}
 ptr_glTextureParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
@@ -1542,7 +1691,7 @@
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @renderbuffer@.
   -> m ()
-glTextureRenderbufferEXT v1 v2 v3 = liftIO $ dyn738 ptr_glTextureRenderbufferEXT v1 v2 v3
+glTextureRenderbufferEXT v1 v2 v3 = liftIO $ dyn739 ptr_glTextureRenderbufferEXT v1 v2 v3
 
 {-# NOINLINE ptr_glTextureRenderbufferEXT #-}
 ptr_glTextureRenderbufferEXT :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
@@ -1555,10 +1704,10 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> m ()
-glTextureStorage1D v1 v2 v3 v4 = liftIO $ dyn789 ptr_glTextureStorage1D v1 v2 v3 v4
+glTextureStorage1D v1 v2 v3 v4 = liftIO $ dyn790 ptr_glTextureStorage1D v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTextureStorage1D #-}
 ptr_glTextureStorage1D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
@@ -1571,10 +1720,10 @@
   => GLuint -- ^ @texture@.
   -> GLenum -- ^ @target@.
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> m ()
-glTextureStorage1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn790 ptr_glTextureStorage1DEXT v1 v2 v3 v4 v5
+glTextureStorage1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn791 ptr_glTextureStorage1DEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glTextureStorage1DEXT #-}
 ptr_glTextureStorage1DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
@@ -1587,7 +1736,7 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
@@ -1604,11 +1753,11 @@
   => GLuint -- ^ @texture@.
   -> GLenum -- ^ @target@.
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glTextureStorage2DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn791 ptr_glTextureStorage2DEXT v1 v2 v3 v4 v5 v6
+glTextureStorage2DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn792 ptr_glTextureStorage2DEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTextureStorage2DEXT #-}
 ptr_glTextureStorage2DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
@@ -1621,12 +1770,12 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLboolean -- ^ @fixedsamplelocations@.
   -> m ()
-glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn792 ptr_glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6
+glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn793 ptr_glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTextureStorage2DMultisample #-}
 ptr_glTextureStorage2DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -1639,12 +1788,12 @@
   => GLuint -- ^ @texture@ of type @Texture@.
   -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> m ()
-glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn793 ptr_glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7
+glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn794 ptr_glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glTextureStorage2DMultisampleEXT #-}
 ptr_glTextureStorage2DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
@@ -1657,201 +1806,14 @@
   :: MonadIO m
   => GLuint -- ^ @texture@.
   -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
   -> m ()
-glTextureStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn794 ptr_glTextureStorage3D v1 v2 v3 v4 v5 v6
+glTextureStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn795 ptr_glTextureStorage3D v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glTextureStorage3D #-}
 ptr_glTextureStorage3D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
 ptr_glTextureStorage3D = unsafePerformIO $ getCommand "glTextureStorage3D"
-
--- glTextureStorage3DEXT -------------------------------------------------------
-
-glTextureStorage3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> m ()
-glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn795 ptr_glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureStorage3DEXT #-}
-ptr_glTextureStorage3DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glTextureStorage3DEXT = unsafePerformIO $ getCommand "glTextureStorage3DEXT"
-
--- glTextureStorage3DMultisample -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
-glTextureStorage3DMultisample
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedsamplelocations@.
-  -> m ()
-glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn796 ptr_glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureStorage3DMultisample #-}
-ptr_glTextureStorage3DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureStorage3DMultisample = unsafePerformIO $ getCommand "glTextureStorage3DMultisample"
-
--- glTextureStorage3DMultisampleEXT --------------------------------------------
-
-glTextureStorage3DMultisampleEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-  -> m ()
-glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn797 ptr_glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureStorage3DMultisampleEXT #-}
-ptr_glTextureStorage3DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureStorage3DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorage3DMultisampleEXT"
-
--- glTextureStorageMem1DEXT ----------------------------------------------------
-
-glTextureStorageMem1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLuint -- ^ @memory@.
-  -> GLuint64 -- ^ @offset@.
-  -> m ()
-glTextureStorageMem1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn798 ptr_glTextureStorageMem1DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTextureStorageMem1DEXT #-}
-ptr_glTextureStorageMem1DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
-ptr_glTextureStorageMem1DEXT = unsafePerformIO $ getCommand "glTextureStorageMem1DEXT"
-
--- glTextureStorageMem2DEXT ----------------------------------------------------
-
-glTextureStorageMem2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLuint -- ^ @memory@.
-  -> GLuint64 -- ^ @offset@.
-  -> m ()
-glTextureStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn799 ptr_glTextureStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureStorageMem2DEXT #-}
-ptr_glTextureStorageMem2DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
-ptr_glTextureStorageMem2DEXT = unsafePerformIO $ getCommand "glTextureStorageMem2DEXT"
-
--- glTextureStorageMem2DMultisampleEXT -----------------------------------------
-
-glTextureStorageMem2DMultisampleEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedSampleLocations@.
-  -> GLuint -- ^ @memory@.
-  -> GLuint64 -- ^ @offset@.
-  -> m ()
-glTextureStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn800 ptr_glTextureStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureStorageMem2DMultisampleEXT #-}
-ptr_glTextureStorageMem2DMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
-ptr_glTextureStorageMem2DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorageMem2DMultisampleEXT"
-
--- glTextureStorageMem3DEXT ----------------------------------------------------
-
-glTextureStorageMem3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLuint -- ^ @memory@.
-  -> GLuint64 -- ^ @offset@.
-  -> m ()
-glTextureStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn801 ptr_glTextureStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureStorageMem3DEXT #-}
-ptr_glTextureStorageMem3DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
-ptr_glTextureStorageMem3DEXT = unsafePerformIO $ getCommand "glTextureStorageMem3DEXT"
-
--- glTextureStorageMem3DMultisampleEXT -----------------------------------------
-
-glTextureStorageMem3DMultisampleEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedSampleLocations@.
-  -> GLuint -- ^ @memory@.
-  -> GLuint64 -- ^ @offset@.
-  -> m ()
-glTextureStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn802 ptr_glTextureStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTextureStorageMem3DMultisampleEXT #-}
-ptr_glTextureStorageMem3DMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
-ptr_glTextureStorageMem3DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorageMem3DMultisampleEXT"
-
--- glTextureStorageSparseAMD ---------------------------------------------------
-
-glTextureStorageSparseAMD
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLsizei -- ^ @layers@.
-  -> GLbitfield -- ^ @flags@.
-  -> m ()
-glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn803 ptr_glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureStorageSparseAMD #-}
-ptr_glTextureStorageSparseAMD :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
-ptr_glTextureStorageSparseAMD = unsafePerformIO $ getCommand "glTextureStorageSparseAMD"
-
--- glTextureSubImage1D ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml OpenGL 4.x>.
-glTextureSubImage1D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn804 ptr_glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureSubImage1D #-}
-ptr_glTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureSubImage1D = unsafePerformIO $ getCommand "glTextureSubImage1D"
 
diff --git a/src/Graphics/GL/Functions/F27.hs b/src/Graphics/GL/Functions/F27.hs
--- a/src/Graphics/GL/Functions/F27.hs
+++ b/src/Graphics/GL/Functions/F27.hs
@@ -15,6 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F27 (
+  glTextureStorage3DEXT,
+  glTextureStorage3DMultisample,
+  glTextureStorage3DMultisampleEXT,
+  glTextureStorageMem1DEXT,
+  glTextureStorageMem2DEXT,
+  glTextureStorageMem2DMultisampleEXT,
+  glTextureStorageMem3DEXT,
+  glTextureStorageMem3DMultisampleEXT,
+  glTextureStorageSparseAMD,
+  glTextureSubImage1D,
   glTextureSubImage1DEXT,
   glTextureSubImage2D,
   glTextureSubImage2DEXT,
@@ -104,17 +114,7 @@
   glUniform3uivEXT,
   glUniform4d,
   glUniform4dv,
-  glUniform4f,
-  glUniform4fARB,
-  glUniform4fv,
-  glUniform4fvARB,
-  glUniform4i,
-  glUniform4i64ARB,
-  glUniform4i64NV,
-  glUniform4i64vARB,
-  glUniform4i64vNV,
-  glUniform4iARB,
-  glUniform4iv
+  glUniform4f
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,193 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glTextureStorage3DEXT -------------------------------------------------------
+
+glTextureStorage3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> m ()
+glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn796 ptr_glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureStorage3DEXT #-}
+ptr_glTextureStorage3DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glTextureStorage3DEXT = unsafePerformIO $ getCommand "glTextureStorage3DEXT"
+
+-- glTextureStorage3DMultisample -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
+glTextureStorage3DMultisample
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedsamplelocations@.
+  -> m ()
+glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn797 ptr_glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureStorage3DMultisample #-}
+ptr_glTextureStorage3DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureStorage3DMultisample = unsafePerformIO $ getCommand "glTextureStorage3DMultisample"
+
+-- glTextureStorage3DMultisampleEXT --------------------------------------------
+
+glTextureStorage3DMultisampleEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn798 ptr_glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureStorage3DMultisampleEXT #-}
+ptr_glTextureStorage3DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureStorage3DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorage3DMultisampleEXT"
+
+-- glTextureStorageMem1DEXT ----------------------------------------------------
+
+glTextureStorageMem1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLuint -- ^ @memory@.
+  -> GLuint64 -- ^ @offset@.
+  -> m ()
+glTextureStorageMem1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn799 ptr_glTextureStorageMem1DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTextureStorageMem1DEXT #-}
+ptr_glTextureStorageMem1DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> IO ())
+ptr_glTextureStorageMem1DEXT = unsafePerformIO $ getCommand "glTextureStorageMem1DEXT"
+
+-- glTextureStorageMem2DEXT ----------------------------------------------------
+
+glTextureStorageMem2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLuint -- ^ @memory@.
+  -> GLuint64 -- ^ @offset@.
+  -> m ()
+glTextureStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn800 ptr_glTextureStorageMem2DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureStorageMem2DEXT #-}
+ptr_glTextureStorageMem2DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
+ptr_glTextureStorageMem2DEXT = unsafePerformIO $ getCommand "glTextureStorageMem2DEXT"
+
+-- glTextureStorageMem2DMultisampleEXT -----------------------------------------
+
+glTextureStorageMem2DMultisampleEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedSampleLocations@.
+  -> GLuint -- ^ @memory@.
+  -> GLuint64 -- ^ @offset@.
+  -> m ()
+glTextureStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn801 ptr_glTextureStorageMem2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureStorageMem2DMultisampleEXT #-}
+ptr_glTextureStorageMem2DMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
+ptr_glTextureStorageMem2DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorageMem2DMultisampleEXT"
+
+-- glTextureStorageMem3DEXT ----------------------------------------------------
+
+glTextureStorageMem3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLuint -- ^ @memory@.
+  -> GLuint64 -- ^ @offset@.
+  -> m ()
+glTextureStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn802 ptr_glTextureStorageMem3DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureStorageMem3DEXT #-}
+ptr_glTextureStorageMem3DEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> IO ())
+ptr_glTextureStorageMem3DEXT = unsafePerformIO $ getCommand "glTextureStorageMem3DEXT"
+
+-- glTextureStorageMem3DMultisampleEXT -----------------------------------------
+
+glTextureStorageMem3DMultisampleEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedSampleLocations@.
+  -> GLuint -- ^ @memory@.
+  -> GLuint64 -- ^ @offset@.
+  -> m ()
+glTextureStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn803 ptr_glTextureStorageMem3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTextureStorageMem3DMultisampleEXT #-}
+ptr_glTextureStorageMem3DMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> IO ())
+ptr_glTextureStorageMem3DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorageMem3DMultisampleEXT"
+
+-- glTextureStorageSparseAMD ---------------------------------------------------
+
+glTextureStorageSparseAMD
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalFormat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLsizei -- ^ @layers@.
+  -> GLbitfield -- ^ @flags@ of type [TextureStorageMaskAMD](Graphics-GL-Groups.html#TextureStorageMaskAMD).
+  -> m ()
+glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn804 ptr_glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureStorageSparseAMD #-}
+ptr_glTextureStorageSparseAMD :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
+ptr_glTextureStorageSparseAMD = unsafePerformIO $ getCommand "glTextureStorageSparseAMD"
+
+-- glTextureSubImage1D ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml OpenGL 4.x>.
+glTextureSubImage1D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn805 ptr_glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureSubImage1D #-}
+ptr_glTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureSubImage1D = unsafePerformIO $ getCommand "glTextureSubImage1D"
+
 -- glTextureSubImage1DEXT ------------------------------------------------------
 
 glTextureSubImage1DEXT
@@ -136,7 +323,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
   -> m ()
-glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn805 ptr_glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn806 ptr_glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTextureSubImage1DEXT #-}
 ptr_glTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -153,11 +340,11 @@
   -> GLint -- ^ @yoffset@.
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@.
   -> m ()
-glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn806 ptr_glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn807 ptr_glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
 
 {-# NOINLINE ptr_glTextureSubImage2D #-}
 ptr_glTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -178,7 +365,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
   -> m ()
-glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn807 ptr_glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn808 ptr_glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
 
 {-# NOINLINE ptr_glTextureSubImage2DEXT #-}
 ptr_glTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -197,8 +384,8 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@.
   -> m ()
 glTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn94 ptr_glTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
@@ -224,7 +411,7 @@
   -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
   -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
   -> m ()
-glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn808 ptr_glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn809 ptr_glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
 
 {-# NOINLINE ptr_glTextureSubImage3DEXT #-}
 ptr_glTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
@@ -236,15 +423,15 @@
 glTextureView
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @origtexture@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @minlevel@.
   -> GLuint -- ^ @numlevels@.
   -> GLuint -- ^ @minlayer@.
   -> GLuint -- ^ @numlayers@.
   -> m ()
-glTextureView v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn809 ptr_glTextureView v1 v2 v3 v4 v5 v6 v7 v8
+glTextureView v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn810 ptr_glTextureView v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTextureView #-}
 ptr_glTextureView :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -256,15 +443,15 @@
 glTextureViewEXT
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @origtexture@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @minlevel@.
   -> GLuint -- ^ @numlevels@.
   -> GLuint -- ^ @minlayer@.
   -> GLuint -- ^ @numlayers@.
   -> m ()
-glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn809 ptr_glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8
+glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn810 ptr_glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTextureViewEXT #-}
 ptr_glTextureViewEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -276,15 +463,15 @@
 glTextureViewOES
   :: MonadIO m
   => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
   -> GLuint -- ^ @origtexture@.
-  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
   -> GLuint -- ^ @minlevel@.
   -> GLuint -- ^ @numlevels@.
   -> GLuint -- ^ @minlayer@.
   -> GLuint -- ^ @numlayers@.
   -> m ()
-glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn809 ptr_glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8
+glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn810 ptr_glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glTextureViewOES #-}
 ptr_glTextureViewOES :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -299,7 +486,7 @@
   -> GLenum -- ^ @matrix@ of type @VertexAttribEnumNV@.
   -> GLenum -- ^ @transform@ of type @VertexAttribEnumNV@.
   -> m ()
-glTrackMatrixNV v1 v2 v3 v4 = liftIO $ dyn810 ptr_glTrackMatrixNV v1 v2 v3 v4
+glTrackMatrixNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glTrackMatrixNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTrackMatrixNV #-}
 ptr_glTrackMatrixNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
@@ -313,7 +500,7 @@
   -> Ptr GLint -- ^ @attribs@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
   -> GLenum -- ^ @bufferMode@.
   -> m ()
-glTransformFeedbackAttribsNV v1 v2 v3 = liftIO $ dyn811 ptr_glTransformFeedbackAttribsNV v1 v2 v3
+glTransformFeedbackAttribsNV v1 v2 v3 = liftIO $ dyn812 ptr_glTransformFeedbackAttribsNV v1 v2 v3
 
 {-# NOINLINE ptr_glTransformFeedbackAttribsNV #-}
 ptr_glTransformFeedbackAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
@@ -345,7 +532,7 @@
   -> GLintptr -- ^ @offset@.
   -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
   -> m ()
-glTransformFeedbackBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn812 ptr_glTransformFeedbackBufferRange v1 v2 v3 v4 v5
+glTransformFeedbackBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn813 ptr_glTransformFeedbackBufferRange v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glTransformFeedbackBufferRange #-}
 ptr_glTransformFeedbackBufferRange :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
@@ -361,7 +548,7 @@
   -> Ptr GLint -- ^ @bufstreams@ pointing to @nbuffers@ elements of type @GLint@.
   -> GLenum -- ^ @bufferMode@.
   -> m ()
-glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5 = liftIO $ dyn813 ptr_glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5
+glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5 = liftIO $ dyn814 ptr_glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glTransformFeedbackStreamAttribsNV #-}
 ptr_glTransformFeedbackStreamAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
@@ -377,7 +564,7 @@
   -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
   -> GLenum -- ^ @bufferMode@.
   -> m ()
-glTransformFeedbackVaryings v1 v2 v3 v4 = liftIO $ dyn814 ptr_glTransformFeedbackVaryings v1 v2 v3 v4
+glTransformFeedbackVaryings v1 v2 v3 v4 = liftIO $ dyn815 ptr_glTransformFeedbackVaryings v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTransformFeedbackVaryings #-}
 ptr_glTransformFeedbackVaryings :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
@@ -393,7 +580,7 @@
   -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
   -> GLenum -- ^ @bufferMode@.
   -> m ()
-glTransformFeedbackVaryingsEXT v1 v2 v3 v4 = liftIO $ dyn814 ptr_glTransformFeedbackVaryingsEXT v1 v2 v3 v4
+glTransformFeedbackVaryingsEXT v1 v2 v3 v4 = liftIO $ dyn815 ptr_glTransformFeedbackVaryingsEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTransformFeedbackVaryingsEXT #-}
 ptr_glTransformFeedbackVaryingsEXT :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
@@ -408,7 +595,7 @@
   -> Ptr GLint -- ^ @locations@ pointing to @count@ elements of type @GLint@.
   -> GLenum -- ^ @bufferMode@.
   -> m ()
-glTransformFeedbackVaryingsNV v1 v2 v3 v4 = liftIO $ dyn815 ptr_glTransformFeedbackVaryingsNV v1 v2 v3 v4
+glTransformFeedbackVaryingsNV v1 v2 v3 v4 = liftIO $ dyn816 ptr_glTransformFeedbackVaryingsNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTransformFeedbackVaryingsNV #-}
 ptr_glTransformFeedbackVaryingsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
@@ -420,10 +607,10 @@
   :: MonadIO m
   => GLuint -- ^ @resultPath@ of type @Path@.
   -> GLuint -- ^ @srcPath@ of type @Path@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> GLenum -- ^ @transformType@ of type [PathTransformType](Graphics-GL-Groups.html#PathTransformType).
   -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(transformType)@ elements of type @GLfloat@.
   -> m ()
-glTransformPathNV v1 v2 v3 v4 = liftIO $ dyn456 ptr_glTransformPathNV v1 v2 v3 v4
+glTransformPathNV v1 v2 v3 v4 = liftIO $ dyn457 ptr_glTransformPathNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glTransformPathNV #-}
 ptr_glTransformPathNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -494,7 +681,7 @@
   => GLint -- ^ @location@.
   -> GLdouble -- ^ @x@.
   -> m ()
-glUniform1d v1 v2 = liftIO $ dyn816 ptr_glUniform1d v1 v2
+glUniform1d v1 v2 = liftIO $ dyn817 ptr_glUniform1d v1 v2
 
 {-# NOINLINE ptr_glUniform1d #-}
 ptr_glUniform1d :: FunPtr (GLint -> GLdouble -> IO ())
@@ -508,7 +695,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*1@ elements of type @GLdouble@.
   -> m ()
-glUniform1dv v1 v2 v3 = liftIO $ dyn817 ptr_glUniform1dv v1 v2 v3
+glUniform1dv v1 v2 v3 = liftIO $ dyn818 ptr_glUniform1dv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1dv #-}
 ptr_glUniform1dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -522,7 +709,7 @@
   => GLint -- ^ @location@.
   -> GLfloat -- ^ @v0@.
   -> m ()
-glUniform1f v1 v2 = liftIO $ dyn818 ptr_glUniform1f v1 v2
+glUniform1f v1 v2 = liftIO $ dyn819 ptr_glUniform1f v1 v2
 
 {-# NOINLINE ptr_glUniform1f #-}
 ptr_glUniform1f :: FunPtr (GLint -> GLfloat -> IO ())
@@ -536,7 +723,7 @@
   => GLint -- ^ @location@.
   -> GLfloat -- ^ @v0@.
   -> m ()
-glUniform1fARB v1 v2 = liftIO $ dyn818 ptr_glUniform1fARB v1 v2
+glUniform1fARB v1 v2 = liftIO $ dyn819 ptr_glUniform1fARB v1 v2
 
 {-# NOINLINE ptr_glUniform1fARB #-}
 ptr_glUniform1fARB :: FunPtr (GLint -> GLfloat -> IO ())
@@ -551,7 +738,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
   -> m ()
-glUniform1fv v1 v2 v3 = liftIO $ dyn819 ptr_glUniform1fv v1 v2 v3
+glUniform1fv v1 v2 v3 = liftIO $ dyn820 ptr_glUniform1fv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1fv #-}
 ptr_glUniform1fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -566,7 +753,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
   -> m ()
-glUniform1fvARB v1 v2 v3 = liftIO $ dyn819 ptr_glUniform1fvARB v1 v2 v3
+glUniform1fvARB v1 v2 v3 = liftIO $ dyn820 ptr_glUniform1fvARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1fvARB #-}
 ptr_glUniform1fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -580,7 +767,7 @@
   => GLint -- ^ @location@.
   -> GLint -- ^ @v0@.
   -> m ()
-glUniform1i v1 v2 = liftIO $ dyn270 ptr_glUniform1i v1 v2
+glUniform1i v1 v2 = liftIO $ dyn271 ptr_glUniform1i v1 v2
 
 {-# NOINLINE ptr_glUniform1i #-}
 ptr_glUniform1i :: FunPtr (GLint -> GLint -> IO ())
@@ -593,7 +780,7 @@
   => GLint -- ^ @location@.
   -> GLint64 -- ^ @x@.
   -> m ()
-glUniform1i64ARB v1 v2 = liftIO $ dyn820 ptr_glUniform1i64ARB v1 v2
+glUniform1i64ARB v1 v2 = liftIO $ dyn821 ptr_glUniform1i64ARB v1 v2
 
 {-# NOINLINE ptr_glUniform1i64ARB #-}
 ptr_glUniform1i64ARB :: FunPtr (GLint -> GLint64 -> IO ())
@@ -606,7 +793,7 @@
   => GLint -- ^ @location@.
   -> GLint64EXT -- ^ @x@.
   -> m ()
-glUniform1i64NV v1 v2 = liftIO $ dyn821 ptr_glUniform1i64NV v1 v2
+glUniform1i64NV v1 v2 = liftIO $ dyn822 ptr_glUniform1i64NV v1 v2
 
 {-# NOINLINE ptr_glUniform1i64NV #-}
 ptr_glUniform1i64NV :: FunPtr (GLint -> GLint64EXT -> IO ())
@@ -620,7 +807,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64 -- ^ @value@ pointing to @count*1@ elements of type @GLint64@.
   -> m ()
-glUniform1i64vARB v1 v2 v3 = liftIO $ dyn822 ptr_glUniform1i64vARB v1 v2 v3
+glUniform1i64vARB v1 v2 v3 = liftIO $ dyn823 ptr_glUniform1i64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1i64vARB #-}
 ptr_glUniform1i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
@@ -634,7 +821,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLint64EXT@.
   -> m ()
-glUniform1i64vNV v1 v2 v3 = liftIO $ dyn823 ptr_glUniform1i64vNV v1 v2 v3
+glUniform1i64vNV v1 v2 v3 = liftIO $ dyn824 ptr_glUniform1i64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1i64vNV #-}
 ptr_glUniform1i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
@@ -648,7 +835,7 @@
   => GLint -- ^ @location@.
   -> GLint -- ^ @v0@.
   -> m ()
-glUniform1iARB v1 v2 = liftIO $ dyn270 ptr_glUniform1iARB v1 v2
+glUniform1iARB v1 v2 = liftIO $ dyn271 ptr_glUniform1iARB v1 v2
 
 {-# NOINLINE ptr_glUniform1iARB #-}
 ptr_glUniform1iARB :: FunPtr (GLint -> GLint -> IO ())
@@ -663,7 +850,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
   -> m ()
-glUniform1iv v1 v2 v3 = liftIO $ dyn824 ptr_glUniform1iv v1 v2 v3
+glUniform1iv v1 v2 v3 = liftIO $ dyn825 ptr_glUniform1iv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1iv #-}
 ptr_glUniform1iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -678,7 +865,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
   -> m ()
-glUniform1ivARB v1 v2 v3 = liftIO $ dyn824 ptr_glUniform1ivARB v1 v2 v3
+glUniform1ivARB v1 v2 v3 = liftIO $ dyn825 ptr_glUniform1ivARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1ivARB #-}
 ptr_glUniform1ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -692,7 +879,7 @@
   => GLint -- ^ @location@.
   -> GLuint -- ^ @v0@.
   -> m ()
-glUniform1ui v1 v2 = liftIO $ dyn825 ptr_glUniform1ui v1 v2
+glUniform1ui v1 v2 = liftIO $ dyn826 ptr_glUniform1ui v1 v2
 
 {-# NOINLINE ptr_glUniform1ui #-}
 ptr_glUniform1ui :: FunPtr (GLint -> GLuint -> IO ())
@@ -705,7 +892,7 @@
   => GLint -- ^ @location@.
   -> GLuint64 -- ^ @x@.
   -> m ()
-glUniform1ui64ARB v1 v2 = liftIO $ dyn826 ptr_glUniform1ui64ARB v1 v2
+glUniform1ui64ARB v1 v2 = liftIO $ dyn827 ptr_glUniform1ui64ARB v1 v2
 
 {-# NOINLINE ptr_glUniform1ui64ARB #-}
 ptr_glUniform1ui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
@@ -718,7 +905,7 @@
   => GLint -- ^ @location@.
   -> GLuint64EXT -- ^ @x@.
   -> m ()
-glUniform1ui64NV v1 v2 = liftIO $ dyn827 ptr_glUniform1ui64NV v1 v2
+glUniform1ui64NV v1 v2 = liftIO $ dyn828 ptr_glUniform1ui64NV v1 v2
 
 {-# NOINLINE ptr_glUniform1ui64NV #-}
 ptr_glUniform1ui64NV :: FunPtr (GLint -> GLuint64EXT -> IO ())
@@ -732,7 +919,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count*1@ elements of type @GLuint64@.
   -> m ()
-glUniform1ui64vARB v1 v2 v3 = liftIO $ dyn828 ptr_glUniform1ui64vARB v1 v2 v3
+glUniform1ui64vARB v1 v2 v3 = liftIO $ dyn829 ptr_glUniform1ui64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1ui64vARB #-}
 ptr_glUniform1ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -746,7 +933,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLuint64EXT@.
   -> m ()
-glUniform1ui64vNV v1 v2 v3 = liftIO $ dyn829 ptr_glUniform1ui64vNV v1 v2 v3
+glUniform1ui64vNV v1 v2 v3 = liftIO $ dyn830 ptr_glUniform1ui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1ui64vNV #-}
 ptr_glUniform1ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
@@ -760,7 +947,7 @@
   => GLint -- ^ @location@.
   -> GLuint -- ^ @v0@.
   -> m ()
-glUniform1uiEXT v1 v2 = liftIO $ dyn825 ptr_glUniform1uiEXT v1 v2
+glUniform1uiEXT v1 v2 = liftIO $ dyn826 ptr_glUniform1uiEXT v1 v2
 
 {-# NOINLINE ptr_glUniform1uiEXT #-}
 ptr_glUniform1uiEXT :: FunPtr (GLint -> GLuint -> IO ())
@@ -775,7 +962,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
   -> m ()
-glUniform1uiv v1 v2 v3 = liftIO $ dyn830 ptr_glUniform1uiv v1 v2 v3
+glUniform1uiv v1 v2 v3 = liftIO $ dyn831 ptr_glUniform1uiv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1uiv #-}
 ptr_glUniform1uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -790,7 +977,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
   -> m ()
-glUniform1uivEXT v1 v2 v3 = liftIO $ dyn830 ptr_glUniform1uivEXT v1 v2 v3
+glUniform1uivEXT v1 v2 v3 = liftIO $ dyn831 ptr_glUniform1uivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glUniform1uivEXT #-}
 ptr_glUniform1uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -818,7 +1005,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*2@ elements of type @GLdouble@.
   -> m ()
-glUniform2dv v1 v2 v3 = liftIO $ dyn817 ptr_glUniform2dv v1 v2 v3
+glUniform2dv v1 v2 v3 = liftIO $ dyn818 ptr_glUniform2dv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2dv #-}
 ptr_glUniform2dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -863,7 +1050,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
   -> m ()
-glUniform2fv v1 v2 v3 = liftIO $ dyn819 ptr_glUniform2fv v1 v2 v3
+glUniform2fv v1 v2 v3 = liftIO $ dyn820 ptr_glUniform2fv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2fv #-}
 ptr_glUniform2fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -878,7 +1065,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
   -> m ()
-glUniform2fvARB v1 v2 v3 = liftIO $ dyn819 ptr_glUniform2fvARB v1 v2 v3
+glUniform2fvARB v1 v2 v3 = liftIO $ dyn820 ptr_glUniform2fvARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2fvARB #-}
 ptr_glUniform2fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -907,7 +1094,7 @@
   -> GLint64 -- ^ @x@.
   -> GLint64 -- ^ @y@.
   -> m ()
-glUniform2i64ARB v1 v2 v3 = liftIO $ dyn831 ptr_glUniform2i64ARB v1 v2 v3
+glUniform2i64ARB v1 v2 v3 = liftIO $ dyn832 ptr_glUniform2i64ARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2i64ARB #-}
 ptr_glUniform2i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
@@ -921,7 +1108,7 @@
   -> GLint64EXT -- ^ @x@.
   -> GLint64EXT -- ^ @y@.
   -> m ()
-glUniform2i64NV v1 v2 v3 = liftIO $ dyn832 ptr_glUniform2i64NV v1 v2 v3
+glUniform2i64NV v1 v2 v3 = liftIO $ dyn833 ptr_glUniform2i64NV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2i64NV #-}
 ptr_glUniform2i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
@@ -935,7 +1122,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64 -- ^ @value@ pointing to @count*2@ elements of type @GLint64@.
   -> m ()
-glUniform2i64vARB v1 v2 v3 = liftIO $ dyn822 ptr_glUniform2i64vARB v1 v2 v3
+glUniform2i64vARB v1 v2 v3 = liftIO $ dyn823 ptr_glUniform2i64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2i64vARB #-}
 ptr_glUniform2i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
@@ -949,7 +1136,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLint64EXT@.
   -> m ()
-glUniform2i64vNV v1 v2 v3 = liftIO $ dyn823 ptr_glUniform2i64vNV v1 v2 v3
+glUniform2i64vNV v1 v2 v3 = liftIO $ dyn824 ptr_glUniform2i64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2i64vNV #-}
 ptr_glUniform2i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
@@ -979,7 +1166,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
   -> m ()
-glUniform2iv v1 v2 v3 = liftIO $ dyn824 ptr_glUniform2iv v1 v2 v3
+glUniform2iv v1 v2 v3 = liftIO $ dyn825 ptr_glUniform2iv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2iv #-}
 ptr_glUniform2iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -994,7 +1181,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
   -> m ()
-glUniform2ivARB v1 v2 v3 = liftIO $ dyn824 ptr_glUniform2ivARB v1 v2 v3
+glUniform2ivARB v1 v2 v3 = liftIO $ dyn825 ptr_glUniform2ivARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2ivARB #-}
 ptr_glUniform2ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -1009,7 +1196,7 @@
   -> GLuint -- ^ @v0@.
   -> GLuint -- ^ @v1@.
   -> m ()
-glUniform2ui v1 v2 v3 = liftIO $ dyn833 ptr_glUniform2ui v1 v2 v3
+glUniform2ui v1 v2 v3 = liftIO $ dyn834 ptr_glUniform2ui v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2ui #-}
 ptr_glUniform2ui :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
@@ -1023,7 +1210,7 @@
   -> GLuint64 -- ^ @x@.
   -> GLuint64 -- ^ @y@.
   -> m ()
-glUniform2ui64ARB v1 v2 v3 = liftIO $ dyn834 ptr_glUniform2ui64ARB v1 v2 v3
+glUniform2ui64ARB v1 v2 v3 = liftIO $ dyn835 ptr_glUniform2ui64ARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2ui64ARB #-}
 ptr_glUniform2ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> IO ())
@@ -1037,7 +1224,7 @@
   -> GLuint64EXT -- ^ @x@.
   -> GLuint64EXT -- ^ @y@.
   -> m ()
-glUniform2ui64NV v1 v2 v3 = liftIO $ dyn835 ptr_glUniform2ui64NV v1 v2 v3
+glUniform2ui64NV v1 v2 v3 = liftIO $ dyn836 ptr_glUniform2ui64NV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2ui64NV #-}
 ptr_glUniform2ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
@@ -1051,7 +1238,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count*2@ elements of type @GLuint64@.
   -> m ()
-glUniform2ui64vARB v1 v2 v3 = liftIO $ dyn828 ptr_glUniform2ui64vARB v1 v2 v3
+glUniform2ui64vARB v1 v2 v3 = liftIO $ dyn829 ptr_glUniform2ui64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2ui64vARB #-}
 ptr_glUniform2ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -1065,7 +1252,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLuint64EXT@.
   -> m ()
-glUniform2ui64vNV v1 v2 v3 = liftIO $ dyn829 ptr_glUniform2ui64vNV v1 v2 v3
+glUniform2ui64vNV v1 v2 v3 = liftIO $ dyn830 ptr_glUniform2ui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2ui64vNV #-}
 ptr_glUniform2ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
@@ -1080,7 +1267,7 @@
   -> GLuint -- ^ @v0@.
   -> GLuint -- ^ @v1@.
   -> m ()
-glUniform2uiEXT v1 v2 v3 = liftIO $ dyn833 ptr_glUniform2uiEXT v1 v2 v3
+glUniform2uiEXT v1 v2 v3 = liftIO $ dyn834 ptr_glUniform2uiEXT v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2uiEXT #-}
 ptr_glUniform2uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
@@ -1095,7 +1282,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
   -> m ()
-glUniform2uiv v1 v2 v3 = liftIO $ dyn830 ptr_glUniform2uiv v1 v2 v3
+glUniform2uiv v1 v2 v3 = liftIO $ dyn831 ptr_glUniform2uiv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2uiv #-}
 ptr_glUniform2uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1110,7 +1297,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
   -> m ()
-glUniform2uivEXT v1 v2 v3 = liftIO $ dyn830 ptr_glUniform2uivEXT v1 v2 v3
+glUniform2uivEXT v1 v2 v3 = liftIO $ dyn831 ptr_glUniform2uivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glUniform2uivEXT #-}
 ptr_glUniform2uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1125,7 +1312,7 @@
   -> GLdouble -- ^ @y@.
   -> GLdouble -- ^ @z@.
   -> m ()
-glUniform3d v1 v2 v3 v4 = liftIO $ dyn836 ptr_glUniform3d v1 v2 v3 v4
+glUniform3d v1 v2 v3 v4 = liftIO $ dyn837 ptr_glUniform3d v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3d #-}
 ptr_glUniform3d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -1139,7 +1326,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*3@ elements of type @GLdouble@.
   -> m ()
-glUniform3dv v1 v2 v3 = liftIO $ dyn817 ptr_glUniform3dv v1 v2 v3
+glUniform3dv v1 v2 v3 = liftIO $ dyn818 ptr_glUniform3dv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3dv #-}
 ptr_glUniform3dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1155,7 +1342,7 @@
   -> GLfloat -- ^ @v1@.
   -> GLfloat -- ^ @v2@.
   -> m ()
-glUniform3f v1 v2 v3 v4 = liftIO $ dyn837 ptr_glUniform3f v1 v2 v3 v4
+glUniform3f v1 v2 v3 v4 = liftIO $ dyn838 ptr_glUniform3f v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3f #-}
 ptr_glUniform3f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -1171,7 +1358,7 @@
   -> GLfloat -- ^ @v1@.
   -> GLfloat -- ^ @v2@.
   -> m ()
-glUniform3fARB v1 v2 v3 v4 = liftIO $ dyn837 ptr_glUniform3fARB v1 v2 v3 v4
+glUniform3fARB v1 v2 v3 v4 = liftIO $ dyn838 ptr_glUniform3fARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3fARB #-}
 ptr_glUniform3fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -1186,7 +1373,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
   -> m ()
-glUniform3fv v1 v2 v3 = liftIO $ dyn819 ptr_glUniform3fv v1 v2 v3
+glUniform3fv v1 v2 v3 = liftIO $ dyn820 ptr_glUniform3fv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3fv #-}
 ptr_glUniform3fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1201,7 +1388,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
   -> m ()
-glUniform3fvARB v1 v2 v3 = liftIO $ dyn819 ptr_glUniform3fvARB v1 v2 v3
+glUniform3fvARB v1 v2 v3 = liftIO $ dyn820 ptr_glUniform3fvARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3fvARB #-}
 ptr_glUniform3fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1232,7 +1419,7 @@
   -> GLint64 -- ^ @y@.
   -> GLint64 -- ^ @z@.
   -> m ()
-glUniform3i64ARB v1 v2 v3 v4 = liftIO $ dyn838 ptr_glUniform3i64ARB v1 v2 v3 v4
+glUniform3i64ARB v1 v2 v3 v4 = liftIO $ dyn839 ptr_glUniform3i64ARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3i64ARB #-}
 ptr_glUniform3i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
@@ -1247,7 +1434,7 @@
   -> GLint64EXT -- ^ @y@.
   -> GLint64EXT -- ^ @z@.
   -> m ()
-glUniform3i64NV v1 v2 v3 v4 = liftIO $ dyn839 ptr_glUniform3i64NV v1 v2 v3 v4
+glUniform3i64NV v1 v2 v3 v4 = liftIO $ dyn840 ptr_glUniform3i64NV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3i64NV #-}
 ptr_glUniform3i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
@@ -1261,7 +1448,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64 -- ^ @value@ pointing to @count*3@ elements of type @GLint64@.
   -> m ()
-glUniform3i64vARB v1 v2 v3 = liftIO $ dyn822 ptr_glUniform3i64vARB v1 v2 v3
+glUniform3i64vARB v1 v2 v3 = liftIO $ dyn823 ptr_glUniform3i64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3i64vARB #-}
 ptr_glUniform3i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
@@ -1275,7 +1462,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLint64EXT@.
   -> m ()
-glUniform3i64vNV v1 v2 v3 = liftIO $ dyn823 ptr_glUniform3i64vNV v1 v2 v3
+glUniform3i64vNV v1 v2 v3 = liftIO $ dyn824 ptr_glUniform3i64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3i64vNV #-}
 ptr_glUniform3i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
@@ -1306,7 +1493,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
   -> m ()
-glUniform3iv v1 v2 v3 = liftIO $ dyn824 ptr_glUniform3iv v1 v2 v3
+glUniform3iv v1 v2 v3 = liftIO $ dyn825 ptr_glUniform3iv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3iv #-}
 ptr_glUniform3iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -1321,7 +1508,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
   -> m ()
-glUniform3ivARB v1 v2 v3 = liftIO $ dyn824 ptr_glUniform3ivARB v1 v2 v3
+glUniform3ivARB v1 v2 v3 = liftIO $ dyn825 ptr_glUniform3ivARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3ivARB #-}
 ptr_glUniform3ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -1337,7 +1524,7 @@
   -> GLuint -- ^ @v1@.
   -> GLuint -- ^ @v2@.
   -> m ()
-glUniform3ui v1 v2 v3 v4 = liftIO $ dyn840 ptr_glUniform3ui v1 v2 v3 v4
+glUniform3ui v1 v2 v3 v4 = liftIO $ dyn841 ptr_glUniform3ui v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3ui #-}
 ptr_glUniform3ui :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -1352,7 +1539,7 @@
   -> GLuint64 -- ^ @y@.
   -> GLuint64 -- ^ @z@.
   -> m ()
-glUniform3ui64ARB v1 v2 v3 v4 = liftIO $ dyn841 ptr_glUniform3ui64ARB v1 v2 v3 v4
+glUniform3ui64ARB v1 v2 v3 v4 = liftIO $ dyn842 ptr_glUniform3ui64ARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3ui64ARB #-}
 ptr_glUniform3ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
@@ -1367,7 +1554,7 @@
   -> GLuint64EXT -- ^ @y@.
   -> GLuint64EXT -- ^ @z@.
   -> m ()
-glUniform3ui64NV v1 v2 v3 v4 = liftIO $ dyn842 ptr_glUniform3ui64NV v1 v2 v3 v4
+glUniform3ui64NV v1 v2 v3 v4 = liftIO $ dyn843 ptr_glUniform3ui64NV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3ui64NV #-}
 ptr_glUniform3ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
@@ -1381,7 +1568,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count*3@ elements of type @GLuint64@.
   -> m ()
-glUniform3ui64vARB v1 v2 v3 = liftIO $ dyn828 ptr_glUniform3ui64vARB v1 v2 v3
+glUniform3ui64vARB v1 v2 v3 = liftIO $ dyn829 ptr_glUniform3ui64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3ui64vARB #-}
 ptr_glUniform3ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -1395,7 +1582,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLuint64EXT@.
   -> m ()
-glUniform3ui64vNV v1 v2 v3 = liftIO $ dyn829 ptr_glUniform3ui64vNV v1 v2 v3
+glUniform3ui64vNV v1 v2 v3 = liftIO $ dyn830 ptr_glUniform3ui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3ui64vNV #-}
 ptr_glUniform3ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
@@ -1411,7 +1598,7 @@
   -> GLuint -- ^ @v1@.
   -> GLuint -- ^ @v2@.
   -> m ()
-glUniform3uiEXT v1 v2 v3 v4 = liftIO $ dyn840 ptr_glUniform3uiEXT v1 v2 v3 v4
+glUniform3uiEXT v1 v2 v3 v4 = liftIO $ dyn841 ptr_glUniform3uiEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniform3uiEXT #-}
 ptr_glUniform3uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -1426,7 +1613,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
   -> m ()
-glUniform3uiv v1 v2 v3 = liftIO $ dyn830 ptr_glUniform3uiv v1 v2 v3
+glUniform3uiv v1 v2 v3 = liftIO $ dyn831 ptr_glUniform3uiv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3uiv #-}
 ptr_glUniform3uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1441,7 +1628,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
   -> m ()
-glUniform3uivEXT v1 v2 v3 = liftIO $ dyn830 ptr_glUniform3uivEXT v1 v2 v3
+glUniform3uivEXT v1 v2 v3 = liftIO $ dyn831 ptr_glUniform3uivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glUniform3uivEXT #-}
 ptr_glUniform3uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -1457,7 +1644,7 @@
   -> GLdouble -- ^ @z@.
   -> GLdouble -- ^ @w@.
   -> m ()
-glUniform4d v1 v2 v3 v4 v5 = liftIO $ dyn843 ptr_glUniform4d v1 v2 v3 v4 v5
+glUniform4d v1 v2 v3 v4 v5 = liftIO $ dyn844 ptr_glUniform4d v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glUniform4d #-}
 ptr_glUniform4d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -1471,7 +1658,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
   -> m ()
-glUniform4dv v1 v2 v3 = liftIO $ dyn817 ptr_glUniform4dv v1 v2 v3
+glUniform4dv v1 v2 v3 = liftIO $ dyn818 ptr_glUniform4dv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform4dv #-}
 ptr_glUniform4dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1488,165 +1675,9 @@
   -> GLfloat -- ^ @v2@.
   -> GLfloat -- ^ @v3@.
   -> m ()
-glUniform4f v1 v2 v3 v4 v5 = liftIO $ dyn844 ptr_glUniform4f v1 v2 v3 v4 v5
+glUniform4f v1 v2 v3 v4 v5 = liftIO $ dyn845 ptr_glUniform4f v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glUniform4f #-}
 ptr_glUniform4f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
 ptr_glUniform4f = unsafePerformIO $ getCommand "glUniform4f"
-
--- glUniform4fARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4f'.
-glUniform4fARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> GLfloat -- ^ @v3@.
-  -> m ()
-glUniform4fARB v1 v2 v3 v4 v5 = liftIO $ dyn844 ptr_glUniform4fARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4fARB #-}
-ptr_glUniform4fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glUniform4fARB = unsafePerformIO $ getCommand "glUniform4fARB"
-
--- glUniform4fv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glUniform4fv v1 v2 v3 = liftIO $ dyn819 ptr_glUniform4fv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4fv #-}
-ptr_glUniform4fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform4fv = unsafePerformIO $ getCommand "glUniform4fv"
-
--- glUniform4fvARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4fv'.
-glUniform4fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glUniform4fvARB v1 v2 v3 = liftIO $ dyn819 ptr_glUniform4fvARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4fvARB #-}
-ptr_glUniform4fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform4fvARB = unsafePerformIO $ getCommand "glUniform4fvARB"
-
--- glUniform4i -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4i
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> GLint -- ^ @v3@.
-  -> m ()
-glUniform4i v1 v2 v3 v4 v5 = liftIO $ dyn256 ptr_glUniform4i v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4i #-}
-ptr_glUniform4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glUniform4i = unsafePerformIO $ getCommand "glUniform4i"
-
--- glUniform4i64ARB ------------------------------------------------------------
-
-glUniform4i64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> GLint64 -- ^ @y@.
-  -> GLint64 -- ^ @z@.
-  -> GLint64 -- ^ @w@.
-  -> m ()
-glUniform4i64ARB v1 v2 v3 v4 v5 = liftIO $ dyn845 ptr_glUniform4i64ARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4i64ARB #-}
-ptr_glUniform4i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-ptr_glUniform4i64ARB = unsafePerformIO $ getCommand "glUniform4i64ARB"
-
--- glUniform4i64NV -------------------------------------------------------------
-
-glUniform4i64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> GLint64EXT -- ^ @z@.
-  -> GLint64EXT -- ^ @w@.
-  -> m ()
-glUniform4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn846 ptr_glUniform4i64NV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4i64NV #-}
-ptr_glUniform4i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glUniform4i64NV = unsafePerformIO $ getCommand "glUniform4i64NV"
-
--- glUniform4i64vARB -----------------------------------------------------------
-
-glUniform4i64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*4@ elements of type @GLint64@.
-  -> m ()
-glUniform4i64vARB v1 v2 v3 = liftIO $ dyn822 ptr_glUniform4i64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4i64vARB #-}
-ptr_glUniform4i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glUniform4i64vARB = unsafePerformIO $ getCommand "glUniform4i64vARB"
-
--- glUniform4i64vNV ------------------------------------------------------------
-
-glUniform4i64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLint64EXT@.
-  -> m ()
-glUniform4i64vNV v1 v2 v3 = liftIO $ dyn823 ptr_glUniform4i64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4i64vNV #-}
-ptr_glUniform4i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glUniform4i64vNV = unsafePerformIO $ getCommand "glUniform4i64vNV"
-
--- glUniform4iARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4i'.
-glUniform4iARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> GLint -- ^ @v3@.
-  -> m ()
-glUniform4iARB v1 v2 v3 v4 v5 = liftIO $ dyn256 ptr_glUniform4iARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4iARB #-}
-ptr_glUniform4iARB :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glUniform4iARB = unsafePerformIO $ getCommand "glUniform4iARB"
-
--- glUniform4iv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4iv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
-  -> m ()
-glUniform4iv v1 v2 v3 = liftIO $ dyn824 ptr_glUniform4iv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4iv #-}
-ptr_glUniform4iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform4iv = unsafePerformIO $ getCommand "glUniform4iv"
 
diff --git a/src/Graphics/GL/Functions/F28.hs b/src/Graphics/GL/Functions/F28.hs
--- a/src/Graphics/GL/Functions/F28.hs
+++ b/src/Graphics/GL/Functions/F28.hs
@@ -15,6 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F28 (
+  glUniform4fARB,
+  glUniform4fv,
+  glUniform4fvARB,
+  glUniform4i,
+  glUniform4i64ARB,
+  glUniform4i64NV,
+  glUniform4i64vARB,
+  glUniform4i64vNV,
+  glUniform4iARB,
+  glUniform4iv,
   glUniform4ivARB,
   glUniform4ui,
   glUniform4ui64ARB,
@@ -104,17 +114,7 @@
   glVertex2bvOES,
   glVertex2d,
   glVertex2dv,
-  glVertex2f,
-  glVertex2fv,
-  glVertex2hNV,
-  glVertex2hvNV,
-  glVertex2i,
-  glVertex2iv,
-  glVertex2s,
-  glVertex2sv,
-  glVertex2xOES,
-  glVertex2xvOES,
-  glVertex3bOES
+  glVertex2f
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,162 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glUniform4fARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4f'.
+glUniform4fARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> GLfloat -- ^ @v3@.
+  -> m ()
+glUniform4fARB v1 v2 v3 v4 v5 = liftIO $ dyn845 ptr_glUniform4fARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4fARB #-}
+ptr_glUniform4fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glUniform4fARB = unsafePerformIO $ getCommand "glUniform4fARB"
+
+-- glUniform4fv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glUniform4fv v1 v2 v3 = liftIO $ dyn820 ptr_glUniform4fv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4fv #-}
+ptr_glUniform4fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform4fv = unsafePerformIO $ getCommand "glUniform4fv"
+
+-- glUniform4fvARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4fv'.
+glUniform4fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glUniform4fvARB v1 v2 v3 = liftIO $ dyn820 ptr_glUniform4fvARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4fvARB #-}
+ptr_glUniform4fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform4fvARB = unsafePerformIO $ getCommand "glUniform4fvARB"
+
+-- glUniform4i -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4i
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> GLint -- ^ @v3@.
+  -> m ()
+glUniform4i v1 v2 v3 v4 v5 = liftIO $ dyn257 ptr_glUniform4i v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4i #-}
+ptr_glUniform4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glUniform4i = unsafePerformIO $ getCommand "glUniform4i"
+
+-- glUniform4i64ARB ------------------------------------------------------------
+
+glUniform4i64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> GLint64 -- ^ @y@.
+  -> GLint64 -- ^ @z@.
+  -> GLint64 -- ^ @w@.
+  -> m ()
+glUniform4i64ARB v1 v2 v3 v4 v5 = liftIO $ dyn846 ptr_glUniform4i64ARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4i64ARB #-}
+ptr_glUniform4i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
+ptr_glUniform4i64ARB = unsafePerformIO $ getCommand "glUniform4i64ARB"
+
+-- glUniform4i64NV -------------------------------------------------------------
+
+glUniform4i64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> GLint64EXT -- ^ @z@.
+  -> GLint64EXT -- ^ @w@.
+  -> m ()
+glUniform4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glUniform4i64NV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4i64NV #-}
+ptr_glUniform4i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glUniform4i64NV = unsafePerformIO $ getCommand "glUniform4i64NV"
+
+-- glUniform4i64vARB -----------------------------------------------------------
+
+glUniform4i64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*4@ elements of type @GLint64@.
+  -> m ()
+glUniform4i64vARB v1 v2 v3 = liftIO $ dyn823 ptr_glUniform4i64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4i64vARB #-}
+ptr_glUniform4i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glUniform4i64vARB = unsafePerformIO $ getCommand "glUniform4i64vARB"
+
+-- glUniform4i64vNV ------------------------------------------------------------
+
+glUniform4i64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLint64EXT@.
+  -> m ()
+glUniform4i64vNV v1 v2 v3 = liftIO $ dyn824 ptr_glUniform4i64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4i64vNV #-}
+ptr_glUniform4i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glUniform4i64vNV = unsafePerformIO $ getCommand "glUniform4i64vNV"
+
+-- glUniform4iARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4i'.
+glUniform4iARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> GLint -- ^ @v3@.
+  -> m ()
+glUniform4iARB v1 v2 v3 v4 v5 = liftIO $ dyn257 ptr_glUniform4iARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4iARB #-}
+ptr_glUniform4iARB :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glUniform4iARB = unsafePerformIO $ getCommand "glUniform4iARB"
+
+-- glUniform4iv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4iv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
+  -> m ()
+glUniform4iv v1 v2 v3 = liftIO $ dyn825 ptr_glUniform4iv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4iv #-}
+ptr_glUniform4iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform4iv = unsafePerformIO $ getCommand "glUniform4iv"
+
 -- glUniform4ivARB -------------------------------------------------------------
 
 -- | This command is an alias for 'glUniform4iv'.
@@ -132,7 +288,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
   -> m ()
-glUniform4ivARB v1 v2 v3 = liftIO $ dyn824 ptr_glUniform4ivARB v1 v2 v3
+glUniform4ivARB v1 v2 v3 = liftIO $ dyn825 ptr_glUniform4ivARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform4ivARB #-}
 ptr_glUniform4ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
@@ -149,7 +305,7 @@
   -> GLuint -- ^ @v2@.
   -> GLuint -- ^ @v3@.
   -> m ()
-glUniform4ui v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glUniform4ui v1 v2 v3 v4 v5
+glUniform4ui v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glUniform4ui v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glUniform4ui #-}
 ptr_glUniform4ui :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -165,7 +321,7 @@
   -> GLuint64 -- ^ @z@.
   -> GLuint64 -- ^ @w@.
   -> m ()
-glUniform4ui64ARB v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glUniform4ui64ARB v1 v2 v3 v4 v5
+glUniform4ui64ARB v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glUniform4ui64ARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glUniform4ui64ARB #-}
 ptr_glUniform4ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
@@ -181,7 +337,7 @@
   -> GLuint64EXT -- ^ @z@.
   -> GLuint64EXT -- ^ @w@.
   -> m ()
-glUniform4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glUniform4ui64NV v1 v2 v3 v4 v5
+glUniform4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn850 ptr_glUniform4ui64NV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glUniform4ui64NV #-}
 ptr_glUniform4ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
@@ -195,7 +351,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count*4@ elements of type @GLuint64@.
   -> m ()
-glUniform4ui64vARB v1 v2 v3 = liftIO $ dyn828 ptr_glUniform4ui64vARB v1 v2 v3
+glUniform4ui64vARB v1 v2 v3 = liftIO $ dyn829 ptr_glUniform4ui64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniform4ui64vARB #-}
 ptr_glUniform4ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -209,7 +365,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLuint64EXT@.
   -> m ()
-glUniform4ui64vNV v1 v2 v3 = liftIO $ dyn829 ptr_glUniform4ui64vNV v1 v2 v3
+glUniform4ui64vNV v1 v2 v3 = liftIO $ dyn830 ptr_glUniform4ui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniform4ui64vNV #-}
 ptr_glUniform4ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
@@ -226,7 +382,7 @@
   -> GLuint -- ^ @v2@.
   -> GLuint -- ^ @v3@.
   -> m ()
-glUniform4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glUniform4uiEXT v1 v2 v3 v4 v5
+glUniform4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glUniform4uiEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glUniform4uiEXT #-}
 ptr_glUniform4uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -241,7 +397,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
   -> m ()
-glUniform4uiv v1 v2 v3 = liftIO $ dyn830 ptr_glUniform4uiv v1 v2 v3
+glUniform4uiv v1 v2 v3 = liftIO $ dyn831 ptr_glUniform4uiv v1 v2 v3
 
 {-# NOINLINE ptr_glUniform4uiv #-}
 ptr_glUniform4uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -256,7 +412,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
   -> m ()
-glUniform4uivEXT v1 v2 v3 = liftIO $ dyn830 ptr_glUniform4uivEXT v1 v2 v3
+glUniform4uivEXT v1 v2 v3 = liftIO $ dyn831 ptr_glUniform4uivEXT v1 v2 v3
 
 {-# NOINLINE ptr_glUniform4uivEXT #-}
 ptr_glUniform4uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
@@ -298,7 +454,7 @@
   => GLint -- ^ @location@.
   -> GLuint64 -- ^ @value@.
   -> m ()
-glUniformHandleui64ARB v1 v2 = liftIO $ dyn826 ptr_glUniformHandleui64ARB v1 v2
+glUniformHandleui64ARB v1 v2 = liftIO $ dyn827 ptr_glUniformHandleui64ARB v1 v2
 
 {-# NOINLINE ptr_glUniformHandleui64ARB #-}
 ptr_glUniformHandleui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
@@ -312,7 +468,7 @@
   => GLint -- ^ @location@.
   -> GLuint64 -- ^ @value@.
   -> m ()
-glUniformHandleui64IMG v1 v2 = liftIO $ dyn826 ptr_glUniformHandleui64IMG v1 v2
+glUniformHandleui64IMG v1 v2 = liftIO $ dyn827 ptr_glUniformHandleui64IMG v1 v2
 
 {-# NOINLINE ptr_glUniformHandleui64IMG #-}
 ptr_glUniformHandleui64IMG :: FunPtr (GLint -> GLuint64 -> IO ())
@@ -325,7 +481,7 @@
   => GLint -- ^ @location@.
   -> GLuint64 -- ^ @value@.
   -> m ()
-glUniformHandleui64NV v1 v2 = liftIO $ dyn826 ptr_glUniformHandleui64NV v1 v2
+glUniformHandleui64NV v1 v2 = liftIO $ dyn827 ptr_glUniformHandleui64NV v1 v2
 
 {-# NOINLINE ptr_glUniformHandleui64NV #-}
 ptr_glUniformHandleui64NV :: FunPtr (GLint -> GLuint64 -> IO ())
@@ -339,7 +495,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
   -> m ()
-glUniformHandleui64vARB v1 v2 v3 = liftIO $ dyn828 ptr_glUniformHandleui64vARB v1 v2 v3
+glUniformHandleui64vARB v1 v2 v3 = liftIO $ dyn829 ptr_glUniformHandleui64vARB v1 v2 v3
 
 {-# NOINLINE ptr_glUniformHandleui64vARB #-}
 ptr_glUniformHandleui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -354,7 +510,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
   -> m ()
-glUniformHandleui64vIMG v1 v2 v3 = liftIO $ dyn828 ptr_glUniformHandleui64vIMG v1 v2 v3
+glUniformHandleui64vIMG v1 v2 v3 = liftIO $ dyn829 ptr_glUniformHandleui64vIMG v1 v2 v3
 
 {-# NOINLINE ptr_glUniformHandleui64vIMG #-}
 ptr_glUniformHandleui64vIMG :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -368,7 +524,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
   -> m ()
-glUniformHandleui64vNV v1 v2 v3 = liftIO $ dyn828 ptr_glUniformHandleui64vNV v1 v2 v3
+glUniformHandleui64vNV v1 v2 v3 = liftIO $ dyn829 ptr_glUniformHandleui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniformHandleui64vNV #-}
 ptr_glUniformHandleui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
@@ -383,7 +539,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix2dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix2dv v1 v2 v3 v4
+glUniformMatrix2dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2dv #-}
 ptr_glUniformMatrix2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -399,7 +555,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix2fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2fv v1 v2 v3 v4
+glUniformMatrix2fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix2fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2fv #-}
 ptr_glUniformMatrix2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -415,7 +571,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix2fvARB v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2fvARB v1 v2 v3 v4
+glUniformMatrix2fvARB v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix2fvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2fvARB #-}
 ptr_glUniformMatrix2fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -430,7 +586,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*6@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix2x3dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix2x3dv v1 v2 v3 v4
+glUniformMatrix2x3dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2x3dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2x3dv #-}
 ptr_glUniformMatrix2x3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -446,7 +602,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix2x3fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2x3fv v1 v2 v3 v4
+glUniformMatrix2x3fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix2x3fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2x3fv #-}
 ptr_glUniformMatrix2x3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -462,7 +618,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix2x3fvNV v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2x3fvNV v1 v2 v3 v4
+glUniformMatrix2x3fvNV v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix2x3fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2x3fvNV #-}
 ptr_glUniformMatrix2x3fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -477,7 +633,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix2x4dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix2x4dv v1 v2 v3 v4
+glUniformMatrix2x4dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2x4dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2x4dv #-}
 ptr_glUniformMatrix2x4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -493,7 +649,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix2x4fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2x4fv v1 v2 v3 v4
+glUniformMatrix2x4fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix2x4fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2x4fv #-}
 ptr_glUniformMatrix2x4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -509,7 +665,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix2x4fvNV v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix2x4fvNV v1 v2 v3 v4
+glUniformMatrix2x4fvNV v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix2x4fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix2x4fvNV #-}
 ptr_glUniformMatrix2x4fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -524,7 +680,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*9@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix3dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix3dv v1 v2 v3 v4
+glUniformMatrix3dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3dv #-}
 ptr_glUniformMatrix3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -540,7 +696,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix3fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3fv v1 v2 v3 v4
+glUniformMatrix3fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix3fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3fv #-}
 ptr_glUniformMatrix3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -556,7 +712,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix3fvARB v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3fvARB v1 v2 v3 v4
+glUniformMatrix3fvARB v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix3fvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3fvARB #-}
 ptr_glUniformMatrix3fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -571,7 +727,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*6@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix3x2dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix3x2dv v1 v2 v3 v4
+glUniformMatrix3x2dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3x2dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3x2dv #-}
 ptr_glUniformMatrix3x2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -587,7 +743,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix3x2fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3x2fv v1 v2 v3 v4
+glUniformMatrix3x2fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix3x2fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3x2fv #-}
 ptr_glUniformMatrix3x2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -603,7 +759,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix3x2fvNV v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3x2fvNV v1 v2 v3 v4
+glUniformMatrix3x2fvNV v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix3x2fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3x2fvNV #-}
 ptr_glUniformMatrix3x2fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -618,7 +774,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*12@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix3x4dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix3x4dv v1 v2 v3 v4
+glUniformMatrix3x4dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3x4dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3x4dv #-}
 ptr_glUniformMatrix3x4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -634,7 +790,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix3x4fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3x4fv v1 v2 v3 v4
+glUniformMatrix3x4fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix3x4fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3x4fv #-}
 ptr_glUniformMatrix3x4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -650,7 +806,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix3x4fvNV v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix3x4fvNV v1 v2 v3 v4
+glUniformMatrix3x4fvNV v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix3x4fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix3x4fvNV #-}
 ptr_glUniformMatrix3x4fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -665,7 +821,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*16@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix4dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix4dv v1 v2 v3 v4
+glUniformMatrix4dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4dv #-}
 ptr_glUniformMatrix4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -681,7 +837,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix4fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4fv v1 v2 v3 v4
+glUniformMatrix4fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix4fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4fv #-}
 ptr_glUniformMatrix4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -697,7 +853,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix4fvARB v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4fvARB v1 v2 v3 v4
+glUniformMatrix4fvARB v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix4fvARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4fvARB #-}
 ptr_glUniformMatrix4fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -712,7 +868,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix4x2dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix4x2dv v1 v2 v3 v4
+glUniformMatrix4x2dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4x2dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4x2dv #-}
 ptr_glUniformMatrix4x2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -728,7 +884,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix4x2fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4x2fv v1 v2 v3 v4
+glUniformMatrix4x2fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix4x2fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4x2fv #-}
 ptr_glUniformMatrix4x2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -744,7 +900,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix4x2fvNV v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4x2fvNV v1 v2 v3 v4
+glUniformMatrix4x2fvNV v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix4x2fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4x2fvNV #-}
 ptr_glUniformMatrix4x2fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -759,7 +915,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLdouble -- ^ @value@ pointing to @count*12@ elements of type @GLdouble@.
   -> m ()
-glUniformMatrix4x3dv v1 v2 v3 v4 = liftIO $ dyn850 ptr_glUniformMatrix4x3dv v1 v2 v3 v4
+glUniformMatrix4x3dv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4x3dv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4x3dv #-}
 ptr_glUniformMatrix4x3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
@@ -775,7 +931,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix4x3fv v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4x3fv v1 v2 v3 v4
+glUniformMatrix4x3fv v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix4x3fv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4x3fv #-}
 ptr_glUniformMatrix4x3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -791,7 +947,7 @@
   -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
   -> m ()
-glUniformMatrix4x3fvNV v1 v2 v3 v4 = liftIO $ dyn851 ptr_glUniformMatrix4x3fvNV v1 v2 v3 v4
+glUniformMatrix4x3fvNV v1 v2 v3 v4 = liftIO $ dyn852 ptr_glUniformMatrix4x3fvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glUniformMatrix4x3fvNV #-}
 ptr_glUniformMatrix4x3fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
@@ -802,7 +958,7 @@
 -- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glUniformSubroutines.xhtml OpenGL 4.x>.
 glUniformSubroutinesuiv
   :: MonadIO m
-  => GLenum -- ^ @shadertype@.
+  => GLenum -- ^ @shadertype@ of type [ShaderType](Graphics-GL-Groups.html#ShaderType).
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint -- ^ @indices@ pointing to @count@ elements of type @GLuint@.
   -> m ()
@@ -819,7 +975,7 @@
   => GLint -- ^ @location@.
   -> GLuint64EXT -- ^ @value@.
   -> m ()
-glUniformui64NV v1 v2 = liftIO $ dyn827 ptr_glUniformui64NV v1 v2
+glUniformui64NV v1 v2 = liftIO $ dyn828 ptr_glUniformui64NV v1 v2
 
 {-# NOINLINE ptr_glUniformui64NV #-}
 ptr_glUniformui64NV :: FunPtr (GLint -> GLuint64EXT -> IO ())
@@ -833,7 +989,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLuint64EXT@.
   -> m ()
-glUniformui64vNV v1 v2 v3 = liftIO $ dyn829 ptr_glUniformui64vNV v1 v2 v3
+glUniformui64vNV v1 v2 v3 = liftIO $ dyn830 ptr_glUniformui64vNV v1 v2 v3
 
 {-# NOINLINE ptr_glUniformui64vNV #-}
 ptr_glUniformui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
@@ -896,7 +1052,7 @@
   :: MonadIO m
   => GLuint -- ^ @buffer@.
   -> m GLboolean
-glUnmapNamedBuffer v1 = liftIO $ dyn277 ptr_glUnmapNamedBuffer v1
+glUnmapNamedBuffer v1 = liftIO $ dyn278 ptr_glUnmapNamedBuffer v1
 
 {-# NOINLINE ptr_glUnmapNamedBuffer #-}
 ptr_glUnmapNamedBuffer :: FunPtr (GLuint -> IO GLboolean)
@@ -908,7 +1064,7 @@
   :: MonadIO m
   => GLuint -- ^ @buffer@.
   -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
-glUnmapNamedBufferEXT v1 = liftIO $ dyn277 ptr_glUnmapNamedBufferEXT v1
+glUnmapNamedBufferEXT v1 = liftIO $ dyn278 ptr_glUnmapNamedBufferEXT v1
 
 {-# NOINLINE ptr_glUnmapNamedBufferEXT #-}
 ptr_glUnmapNamedBufferEXT :: FunPtr (GLuint -> IO GLboolean)
@@ -949,7 +1105,7 @@
   -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
   -> GLenum -- ^ @preserve@ of type @PreserveModeATI@.
   -> m ()
-glUpdateObjectBufferATI v1 v2 v3 v4 v5 = liftIO $ dyn852 ptr_glUpdateObjectBufferATI v1 v2 v3 v4 v5
+glUpdateObjectBufferATI v1 v2 v3 v4 v5 = liftIO $ dyn853 ptr_glUpdateObjectBufferATI v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glUpdateObjectBufferATI #-}
 ptr_glUpdateObjectBufferATI :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ())
@@ -987,10 +1143,10 @@
 glUseProgramStages
   :: MonadIO m
   => GLuint -- ^ @pipeline@.
-  -> GLbitfield -- ^ @stages@.
+  -> GLbitfield -- ^ @stages@ of type [UseProgramStageMask](Graphics-GL-Groups.html#UseProgramStageMask).
   -> GLuint -- ^ @program@.
   -> m ()
-glUseProgramStages v1 v2 v3 = liftIO $ dyn853 ptr_glUseProgramStages v1 v2 v3
+glUseProgramStages v1 v2 v3 = liftIO $ dyn854 ptr_glUseProgramStages v1 v2 v3
 
 {-# NOINLINE ptr_glUseProgramStages #-}
 ptr_glUseProgramStages :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
@@ -1001,10 +1157,10 @@
 glUseProgramStagesEXT
   :: MonadIO m
   => GLuint -- ^ @pipeline@.
-  -> GLbitfield -- ^ @stages@.
+  -> GLbitfield -- ^ @stages@ of type [UseProgramStageMask](Graphics-GL-Groups.html#UseProgramStageMask).
   -> GLuint -- ^ @program@.
   -> m ()
-glUseProgramStagesEXT v1 v2 v3 = liftIO $ dyn853 ptr_glUseProgramStagesEXT v1 v2 v3
+glUseProgramStagesEXT v1 v2 v3 = liftIO $ dyn854 ptr_glUseProgramStagesEXT v1 v2 v3
 
 {-# NOINLINE ptr_glUseProgramStagesEXT #-}
 ptr_glUseProgramStagesEXT :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
@@ -1044,7 +1200,7 @@
   -> Ptr GLsizei -- ^ @length@.
   -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
   -> m ()
-glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5 = liftIO $ dyn854 ptr_glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5
+glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5 = liftIO $ dyn855 ptr_glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVDPAUGetSurfaceivNV #-}
 ptr_glVDPAUGetSurfaceivNV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
@@ -1057,7 +1213,7 @@
   => Ptr a -- ^ @vdpDevice@.
   -> Ptr b -- ^ @getProcAddress@.
   -> m ()
-glVDPAUInitNV v1 v2 = liftIO $ dyn855 ptr_glVDPAUInitNV v1 v2
+glVDPAUInitNV v1 v2 = liftIO $ dyn856 ptr_glVDPAUInitNV v1 v2
 
 {-# NOINLINE ptr_glVDPAUInitNV #-}
 ptr_glVDPAUInitNV :: FunPtr (Ptr a -> Ptr b -> IO ())
@@ -1069,7 +1225,7 @@
   :: MonadIO m
   => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
   -> m GLboolean
-glVDPAUIsSurfaceNV v1 = liftIO $ dyn856 ptr_glVDPAUIsSurfaceNV v1
+glVDPAUIsSurfaceNV v1 = liftIO $ dyn857 ptr_glVDPAUIsSurfaceNV v1
 
 {-# NOINLINE ptr_glVDPAUIsSurfaceNV #-}
 ptr_glVDPAUIsSurfaceNV :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
@@ -1082,7 +1238,7 @@
   => GLsizei -- ^ @numSurfaces@.
   -> Ptr GLvdpauSurfaceNV -- ^ @surfaces@ pointing to @numSurfaces@ elements of type @vdpauSurfaceNV@.
   -> m ()
-glVDPAUMapSurfacesNV v1 v2 = liftIO $ dyn857 ptr_glVDPAUMapSurfacesNV v1 v2
+glVDPAUMapSurfacesNV v1 v2 = liftIO $ dyn858 ptr_glVDPAUMapSurfacesNV v1 v2
 
 {-# NOINLINE ptr_glVDPAUMapSurfacesNV #-}
 ptr_glVDPAUMapSurfacesNV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
@@ -1097,7 +1253,7 @@
   -> GLsizei -- ^ @numTextureNames@.
   -> Ptr GLuint -- ^ @textureNames@ pointing to @numTextureNames@ elements of type @GLuint@.
   -> m GLvdpauSurfaceNV -- ^ of type @vdpauSurfaceNV@.
-glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4 = liftIO $ dyn858 ptr_glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4
+glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4 = liftIO $ dyn859 ptr_glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVDPAURegisterOutputSurfaceNV #-}
 ptr_glVDPAURegisterOutputSurfaceNV :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
@@ -1112,7 +1268,7 @@
   -> GLsizei -- ^ @numTextureNames@.
   -> Ptr GLuint -- ^ @textureNames@ pointing to @numTextureNames@ elements of type @GLuint@.
   -> m GLvdpauSurfaceNV -- ^ of type @vdpauSurfaceNV@.
-glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4 = liftIO $ dyn858 ptr_glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4
+glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4 = liftIO $ dyn859 ptr_glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVDPAURegisterVideoSurfaceNV #-}
 ptr_glVDPAURegisterVideoSurfaceNV :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
@@ -1125,7 +1281,7 @@
   => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
   -> GLenum -- ^ @access@.
   -> m ()
-glVDPAUSurfaceAccessNV v1 v2 = liftIO $ dyn859 ptr_glVDPAUSurfaceAccessNV v1 v2
+glVDPAUSurfaceAccessNV v1 v2 = liftIO $ dyn860 ptr_glVDPAUSurfaceAccessNV v1 v2
 
 {-# NOINLINE ptr_glVDPAUSurfaceAccessNV #-}
 ptr_glVDPAUSurfaceAccessNV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
@@ -1138,7 +1294,7 @@
   => GLsizei -- ^ @numSurface@.
   -> Ptr GLvdpauSurfaceNV -- ^ @surfaces@ pointing to @numSurface@ elements of type @vdpauSurfaceNV@.
   -> m ()
-glVDPAUUnmapSurfacesNV v1 v2 = liftIO $ dyn857 ptr_glVDPAUUnmapSurfacesNV v1 v2
+glVDPAUUnmapSurfacesNV v1 v2 = liftIO $ dyn858 ptr_glVDPAUUnmapSurfacesNV v1 v2
 
 {-# NOINLINE ptr_glVDPAUUnmapSurfacesNV #-}
 ptr_glVDPAUUnmapSurfacesNV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
@@ -1150,7 +1306,7 @@
   :: MonadIO m
   => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
   -> m ()
-glVDPAUUnregisterSurfaceNV v1 = liftIO $ dyn860 ptr_glVDPAUUnregisterSurfaceNV v1
+glVDPAUUnregisterSurfaceNV v1 = liftIO $ dyn861 ptr_glVDPAUUnregisterSurfaceNV v1
 
 {-# NOINLINE ptr_glVDPAUUnregisterSurfaceNV #-}
 ptr_glVDPAUUnregisterSurfaceNV :: FunPtr (GLvdpauSurfaceNV -> IO ())
@@ -1217,7 +1373,7 @@
   -> GLuint -- ^ @buffer@.
   -> GLuint -- ^ @offset@.
   -> m ()
-glVariantArrayObjectATI v1 v2 v3 v4 v5 = liftIO $ dyn861 ptr_glVariantArrayObjectATI v1 v2 v3 v4 v5
+glVariantArrayObjectATI v1 v2 v3 v4 v5 = liftIO $ dyn862 ptr_glVariantArrayObjectATI v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVariantArrayObjectATI #-}
 ptr_glVariantArrayObjectATI :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
@@ -1232,7 +1388,7 @@
   -> GLuint -- ^ @stride@.
   -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type,stride)@ elements of type @a@.
   -> m ()
-glVariantPointerEXT v1 v2 v3 v4 = liftIO $ dyn862 ptr_glVariantPointerEXT v1 v2 v3 v4
+glVariantPointerEXT v1 v2 v3 v4 = liftIO $ dyn863 ptr_glVariantPointerEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVariantPointerEXT #-}
 ptr_glVariantPointerEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
@@ -1245,7 +1401,7 @@
   => GLuint -- ^ @id@.
   -> Ptr GLbyte -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLbyte@.
   -> m ()
-glVariantbvEXT v1 v2 = liftIO $ dyn863 ptr_glVariantbvEXT v1 v2
+glVariantbvEXT v1 v2 = liftIO $ dyn864 ptr_glVariantbvEXT v1 v2
 
 {-# NOINLINE ptr_glVariantbvEXT #-}
 ptr_glVariantbvEXT :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
@@ -1258,7 +1414,7 @@
   => GLuint -- ^ @id@.
   -> Ptr GLdouble -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLdouble@.
   -> m ()
-glVariantdvEXT v1 v2 = liftIO $ dyn864 ptr_glVariantdvEXT v1 v2
+glVariantdvEXT v1 v2 = liftIO $ dyn865 ptr_glVariantdvEXT v1 v2
 
 {-# NOINLINE ptr_glVariantdvEXT #-}
 ptr_glVariantdvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -1271,7 +1427,7 @@
   => GLuint -- ^ @id@.
   -> Ptr GLfloat -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
   -> m ()
-glVariantfvEXT v1 v2 = liftIO $ dyn386 ptr_glVariantfvEXT v1 v2
+glVariantfvEXT v1 v2 = liftIO $ dyn387 ptr_glVariantfvEXT v1 v2
 
 {-# NOINLINE ptr_glVariantfvEXT #-}
 ptr_glVariantfvEXT :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -1284,7 +1440,7 @@
   => GLuint -- ^ @id@.
   -> Ptr GLint -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
   -> m ()
-glVariantivEXT v1 v2 = liftIO $ dyn726 ptr_glVariantivEXT v1 v2
+glVariantivEXT v1 v2 = liftIO $ dyn727 ptr_glVariantivEXT v1 v2
 
 {-# NOINLINE ptr_glVariantivEXT #-}
 ptr_glVariantivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1297,7 +1453,7 @@
   => GLuint -- ^ @id@.
   -> Ptr GLshort -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLshort@.
   -> m ()
-glVariantsvEXT v1 v2 = liftIO $ dyn865 ptr_glVariantsvEXT v1 v2
+glVariantsvEXT v1 v2 = liftIO $ dyn866 ptr_glVariantsvEXT v1 v2
 
 {-# NOINLINE ptr_glVariantsvEXT #-}
 ptr_glVariantsvEXT :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -1310,7 +1466,7 @@
   => GLuint -- ^ @id@.
   -> Ptr GLubyte -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLubyte@.
   -> m ()
-glVariantubvEXT v1 v2 = liftIO $ dyn385 ptr_glVariantubvEXT v1 v2
+glVariantubvEXT v1 v2 = liftIO $ dyn386 ptr_glVariantubvEXT v1 v2
 
 {-# NOINLINE ptr_glVariantubvEXT #-}
 ptr_glVariantubvEXT :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -1336,7 +1492,7 @@
   => GLuint -- ^ @id@.
   -> Ptr GLushort -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLushort@.
   -> m ()
-glVariantusvEXT v1 v2 = liftIO $ dyn866 ptr_glVariantusvEXT v1 v2
+glVariantusvEXT v1 v2 = liftIO $ dyn867 ptr_glVariantusvEXT v1 v2
 
 {-# NOINLINE ptr_glVariantusvEXT #-}
 ptr_glVariantusvEXT :: FunPtr (GLuint -> Ptr GLushort -> IO ())
@@ -1349,7 +1505,7 @@
   => GLbyte -- ^ @x@.
   -> GLbyte -- ^ @y@.
   -> m ()
-glVertex2bOES v1 v2 = liftIO $ dyn748 ptr_glVertex2bOES v1 v2
+glVertex2bOES v1 v2 = liftIO $ dyn749 ptr_glVertex2bOES v1 v2
 
 {-# NOINLINE ptr_glVertex2bOES #-}
 ptr_glVertex2bOES :: FunPtr (GLbyte -> GLbyte -> IO ())
@@ -1375,7 +1531,7 @@
   => GLdouble -- ^ @x@ of type @CoordD@.
   -> GLdouble -- ^ @y@ of type @CoordD@.
   -> m ()
-glVertex2d v1 v2 = liftIO $ dyn220 ptr_glVertex2d v1 v2
+glVertex2d v1 v2 = liftIO $ dyn221 ptr_glVertex2d v1 v2
 
 {-# NOINLINE ptr_glVertex2d #-}
 ptr_glVertex2d :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -1402,140 +1558,9 @@
   => GLfloat -- ^ @x@ of type @CoordF@.
   -> GLfloat -- ^ @y@ of type @CoordF@.
   -> m ()
-glVertex2f v1 v2 = liftIO $ dyn225 ptr_glVertex2f v1 v2
+glVertex2f v1 v2 = liftIO $ dyn226 ptr_glVertex2f v1 v2
 
 {-# NOINLINE ptr_glVertex2f #-}
 ptr_glVertex2f :: FunPtr (GLfloat -> GLfloat -> IO ())
 ptr_glVertex2f = unsafePerformIO $ getCommand "glVertex2f"
-
--- glVertex2fv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex2fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glVertex2fv v1 = liftIO $ dyn42 ptr_glVertex2fv v1
-
-{-# NOINLINE ptr_glVertex2fv #-}
-ptr_glVertex2fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glVertex2fv = unsafePerformIO $ getCommand "glVertex2fv"
-
--- glVertex2hNV ----------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertex2hvNV'.
-glVertex2hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
-  -> m ()
-glVertex2hNV v1 v2 = liftIO $ dyn753 ptr_glVertex2hNV v1 v2
-
-{-# NOINLINE ptr_glVertex2hNV #-}
-ptr_glVertex2hNV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
-ptr_glVertex2hNV = unsafePerformIO $ getCommand "glVertex2hNV"
-
--- glVertex2hvNV ---------------------------------------------------------------
-
-glVertex2hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
-  -> m ()
-glVertex2hvNV v1 = liftIO $ dyn102 ptr_glVertex2hvNV v1
-
-{-# NOINLINE ptr_glVertex2hvNV #-}
-ptr_glVertex2hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glVertex2hvNV = unsafePerformIO $ getCommand "glVertex2hvNV"
-
--- glVertex2i ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2iv'.
-glVertex2i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> m ()
-glVertex2i v1 v2 = liftIO $ dyn270 ptr_glVertex2i v1 v2
-
-{-# NOINLINE ptr_glVertex2i #-}
-ptr_glVertex2i :: FunPtr (GLint -> GLint -> IO ())
-ptr_glVertex2i = unsafePerformIO $ getCommand "glVertex2i"
-
--- glVertex2iv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex2iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glVertex2iv v1 = liftIO $ dyn44 ptr_glVertex2iv v1
-
-{-# NOINLINE ptr_glVertex2iv #-}
-ptr_glVertex2iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glVertex2iv = unsafePerformIO $ getCommand "glVertex2iv"
-
--- glVertex2s ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2sv'.
-glVertex2s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> m ()
-glVertex2s v1 v2 = liftIO $ dyn694 ptr_glVertex2s v1 v2
-
-{-# NOINLINE ptr_glVertex2s #-}
-ptr_glVertex2s :: FunPtr (GLshort -> GLshort -> IO ())
-ptr_glVertex2s = unsafePerformIO $ getCommand "glVertex2s"
-
--- glVertex2sv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex2sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glVertex2sv v1 = liftIO $ dyn46 ptr_glVertex2sv v1
-
-{-# NOINLINE ptr_glVertex2sv #-}
-ptr_glVertex2sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glVertex2sv = unsafePerformIO $ getCommand "glVertex2sv"
-
--- glVertex2xOES ---------------------------------------------------------------
-
-glVertex2xOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> m ()
-glVertex2xOES v1 = liftIO $ dyn84 ptr_glVertex2xOES v1
-
-{-# NOINLINE ptr_glVertex2xOES #-}
-ptr_glVertex2xOES :: FunPtr (GLfixed -> IO ())
-ptr_glVertex2xOES = unsafePerformIO $ getCommand "glVertex2xOES"
-
--- glVertex2xvOES --------------------------------------------------------------
-
-glVertex2xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
-  -> m ()
-glVertex2xvOES v1 = liftIO $ dyn110 ptr_glVertex2xvOES v1
-
-{-# NOINLINE ptr_glVertex2xvOES #-}
-ptr_glVertex2xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glVertex2xvOES = unsafePerformIO $ getCommand "glVertex2xvOES"
-
--- glVertex3bOES ---------------------------------------------------------------
-
-glVertex3bOES
-  :: MonadIO m
-  => GLbyte -- ^ @x@.
-  -> GLbyte -- ^ @y@.
-  -> GLbyte -- ^ @z@.
-  -> m ()
-glVertex3bOES v1 v2 v3 = liftIO $ dyn37 ptr_glVertex3bOES v1 v2 v3
-
-{-# NOINLINE ptr_glVertex3bOES #-}
-ptr_glVertex3bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glVertex3bOES = unsafePerformIO $ getCommand "glVertex3bOES"
 
diff --git a/src/Graphics/GL/Functions/F29.hs b/src/Graphics/GL/Functions/F29.hs
--- a/src/Graphics/GL/Functions/F29.hs
+++ b/src/Graphics/GL/Functions/F29.hs
@@ -15,6 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F29 (
+  glVertex2fv,
+  glVertex2hNV,
+  glVertex2hvNV,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex2xOES,
+  glVertex2xvOES,
+  glVertex3bOES,
   glVertex3bvOES,
   glVertex3d,
   glVertex3dv,
@@ -104,17 +114,7 @@
   glVertexAttrib2fv,
   glVertexAttrib2fvARB,
   glVertexAttrib2fvNV,
-  glVertexAttrib2hNV,
-  glVertexAttrib2hvNV,
-  glVertexAttrib2s,
-  glVertexAttrib2sARB,
-  glVertexAttrib2sNV,
-  glVertexAttrib2sv,
-  glVertexAttrib2svARB,
-  glVertexAttrib2svNV,
-  glVertexAttrib3d,
-  glVertexAttrib3dARB,
-  glVertexAttrib3dNV
+  glVertexAttrib2hNV
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,137 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glVertex2fv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex2fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glVertex2fv v1 = liftIO $ dyn42 ptr_glVertex2fv v1
+
+{-# NOINLINE ptr_glVertex2fv #-}
+ptr_glVertex2fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glVertex2fv = unsafePerformIO $ getCommand "glVertex2fv"
+
+-- glVertex2hNV ----------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertex2hvNV'.
+glVertex2hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
+  -> m ()
+glVertex2hNV v1 v2 = liftIO $ dyn754 ptr_glVertex2hNV v1 v2
+
+{-# NOINLINE ptr_glVertex2hNV #-}
+ptr_glVertex2hNV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
+ptr_glVertex2hNV = unsafePerformIO $ getCommand "glVertex2hNV"
+
+-- glVertex2hvNV ---------------------------------------------------------------
+
+glVertex2hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
+  -> m ()
+glVertex2hvNV v1 = liftIO $ dyn102 ptr_glVertex2hvNV v1
+
+{-# NOINLINE ptr_glVertex2hvNV #-}
+ptr_glVertex2hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glVertex2hvNV = unsafePerformIO $ getCommand "glVertex2hvNV"
+
+-- glVertex2i ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2iv'.
+glVertex2i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> m ()
+glVertex2i v1 v2 = liftIO $ dyn271 ptr_glVertex2i v1 v2
+
+{-# NOINLINE ptr_glVertex2i #-}
+ptr_glVertex2i :: FunPtr (GLint -> GLint -> IO ())
+ptr_glVertex2i = unsafePerformIO $ getCommand "glVertex2i"
+
+-- glVertex2iv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex2iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glVertex2iv v1 = liftIO $ dyn44 ptr_glVertex2iv v1
+
+{-# NOINLINE ptr_glVertex2iv #-}
+ptr_glVertex2iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glVertex2iv = unsafePerformIO $ getCommand "glVertex2iv"
+
+-- glVertex2s ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2sv'.
+glVertex2s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> m ()
+glVertex2s v1 v2 = liftIO $ dyn695 ptr_glVertex2s v1 v2
+
+{-# NOINLINE ptr_glVertex2s #-}
+ptr_glVertex2s :: FunPtr (GLshort -> GLshort -> IO ())
+ptr_glVertex2s = unsafePerformIO $ getCommand "glVertex2s"
+
+-- glVertex2sv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex2sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glVertex2sv v1 = liftIO $ dyn46 ptr_glVertex2sv v1
+
+{-# NOINLINE ptr_glVertex2sv #-}
+ptr_glVertex2sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glVertex2sv = unsafePerformIO $ getCommand "glVertex2sv"
+
+-- glVertex2xOES ---------------------------------------------------------------
+
+glVertex2xOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> m ()
+glVertex2xOES v1 = liftIO $ dyn84 ptr_glVertex2xOES v1
+
+{-# NOINLINE ptr_glVertex2xOES #-}
+ptr_glVertex2xOES :: FunPtr (GLfixed -> IO ())
+ptr_glVertex2xOES = unsafePerformIO $ getCommand "glVertex2xOES"
+
+-- glVertex2xvOES --------------------------------------------------------------
+
+glVertex2xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
+  -> m ()
+glVertex2xvOES v1 = liftIO $ dyn110 ptr_glVertex2xvOES v1
+
+{-# NOINLINE ptr_glVertex2xvOES #-}
+ptr_glVertex2xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glVertex2xvOES = unsafePerformIO $ getCommand "glVertex2xvOES"
+
+-- glVertex3bOES ---------------------------------------------------------------
+
+glVertex3bOES
+  :: MonadIO m
+  => GLbyte -- ^ @x@.
+  -> GLbyte -- ^ @y@.
+  -> GLbyte -- ^ @z@.
+  -> m ()
+glVertex3bOES v1 v2 v3 = liftIO $ dyn37 ptr_glVertex3bOES v1 v2 v3
+
+{-# NOINLINE ptr_glVertex3bOES #-}
+ptr_glVertex3bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glVertex3bOES = unsafePerformIO $ getCommand "glVertex3bOES"
+
 -- glVertex3bvOES --------------------------------------------------------------
 
 glVertex3bvOES
@@ -281,7 +412,7 @@
   => GLfixed -- ^ @x@.
   -> GLfixed -- ^ @y@.
   -> m ()
-glVertex3xOES v1 v2 = liftIO $ dyn227 ptr_glVertex3xOES v1 v2
+glVertex3xOES v1 v2 = liftIO $ dyn228 ptr_glVertex3xOES v1 v2
 
 {-# NOINLINE ptr_glVertex3xOES #-}
 ptr_glVertex3xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
@@ -519,11 +650,11 @@
   => GLuint -- ^ @vaobj@.
   -> GLuint -- ^ @attribindex@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribType](Graphics-GL-Groups.html#VertexAttribType).
   -> GLboolean -- ^ @normalized@.
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6 = liftIO $ dyn867 ptr_glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6
+glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6 = liftIO $ dyn868 ptr_glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexArrayAttribFormat #-}
 ptr_glVertexArrayAttribFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
@@ -537,10 +668,10 @@
   => GLuint -- ^ @vaobj@.
   -> GLuint -- ^ @attribindex@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribType](Graphics-GL-Groups.html#VertexAttribType).
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexArrayAttribIFormat v1 v2 v3 v4 v5 = liftIO $ dyn868 ptr_glVertexArrayAttribIFormat v1 v2 v3 v4 v5
+glVertexArrayAttribIFormat v1 v2 v3 v4 v5 = liftIO $ dyn869 ptr_glVertexArrayAttribIFormat v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayAttribIFormat #-}
 ptr_glVertexArrayAttribIFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
@@ -554,10 +685,10 @@
   => GLuint -- ^ @vaobj@.
   -> GLuint -- ^ @attribindex@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribType](Graphics-GL-Groups.html#VertexAttribType).
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexArrayAttribLFormat v1 v2 v3 v4 v5 = liftIO $ dyn868 ptr_glVertexArrayAttribLFormat v1 v2 v3 v4 v5
+glVertexArrayAttribLFormat v1 v2 v3 v4 v5 = liftIO $ dyn869 ptr_glVertexArrayAttribLFormat v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayAttribLFormat #-}
 ptr_glVertexArrayAttribLFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
@@ -573,7 +704,7 @@
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> GLsizei -- ^ @stride@.
   -> m ()
-glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5 = liftIO $ dyn869 ptr_glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5
+glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5 = liftIO $ dyn870 ptr_glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayBindVertexBufferEXT #-}
 ptr_glVertexArrayBindVertexBufferEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
@@ -605,7 +736,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn870 ptr_glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6
+glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexArrayColorOffsetEXT #-}
 ptr_glVertexArrayColorOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -620,7 +751,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4 = liftIO $ dyn871 ptr_glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4
+glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4 = liftIO $ dyn872 ptr_glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexArrayEdgeFlagOffsetEXT #-}
 ptr_glVertexArrayEdgeFlagOffsetEXT :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
@@ -650,7 +781,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn872 ptr_glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5
+glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn873 ptr_glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayFogCoordOffsetEXT #-}
 ptr_glVertexArrayFogCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -666,7 +797,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn872 ptr_glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5
+glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn873 ptr_glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayIndexOffsetEXT #-}
 ptr_glVertexArrayIndexOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -684,7 +815,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn873 ptr_glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7
+glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn874 ptr_glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glVertexArrayMultiTexCoordOffsetEXT #-}
 ptr_glVertexArrayMultiTexCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -700,7 +831,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn872 ptr_glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5
+glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn873 ptr_glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayNormalOffsetEXT #-}
 ptr_glVertexArrayNormalOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -726,7 +857,7 @@
   => GLsizei -- ^ @length@.
   -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
   -> m ()
-glVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn264 ptr_glVertexArrayRangeAPPLE v1 v2
+glVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn265 ptr_glVertexArrayRangeAPPLE v1 v2
 
 {-# NOINLINE ptr_glVertexArrayRangeAPPLE #-}
 ptr_glVertexArrayRangeAPPLE :: FunPtr (GLsizei -> Ptr a -> IO ())
@@ -739,7 +870,7 @@
   => GLsizei -- ^ @length@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(length)@ elements of type @a@.
   -> m ()
-glVertexArrayRangeNV v1 v2 = liftIO $ dyn264 ptr_glVertexArrayRangeNV v1 v2
+glVertexArrayRangeNV v1 v2 = liftIO $ dyn265 ptr_glVertexArrayRangeNV v1 v2
 
 {-# NOINLINE ptr_glVertexArrayRangeNV #-}
 ptr_glVertexArrayRangeNV :: FunPtr (GLsizei -> Ptr a -> IO ())
@@ -756,7 +887,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn870 ptr_glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6
+glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexArraySecondaryColorOffsetEXT #-}
 ptr_glVertexArraySecondaryColorOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -773,7 +904,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn870 ptr_glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6
+glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexArrayTexCoordOffsetEXT #-}
 ptr_glVertexArrayTexCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -818,7 +949,7 @@
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn867 ptr_glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6
+glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn868 ptr_glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexArrayVertexAttribFormatEXT #-}
 ptr_glVertexArrayVertexAttribFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
@@ -834,7 +965,7 @@
   -> GLenum -- ^ @type@.
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn868 ptr_glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5
+glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn869 ptr_glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayVertexAttribIFormatEXT #-}
 ptr_glVertexArrayVertexAttribIFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
@@ -848,11 +979,11 @@
   -> GLuint -- ^ @buffer@.
   -> GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
+  -> GLenum -- ^ @type@ of type [VertexAttribEnum](Graphics-GL-Groups.html#VertexAttribEnum).
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn874 ptr_glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7
+glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn875 ptr_glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glVertexArrayVertexAttribIOffsetEXT #-}
 ptr_glVertexArrayVertexAttribIOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -868,7 +999,7 @@
   -> GLenum -- ^ @type@.
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn868 ptr_glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5
+glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn869 ptr_glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayVertexAttribLFormatEXT #-}
 ptr_glVertexArrayVertexAttribLFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
@@ -886,7 +1017,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@ of type @BufferOffset@.
   -> m ()
-glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn874 ptr_glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7
+glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn875 ptr_glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glVertexArrayVertexAttribLOffsetEXT #-}
 ptr_glVertexArrayVertexAttribLOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -900,12 +1031,12 @@
   -> GLuint -- ^ @buffer@.
   -> GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@.
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn875 ptr_glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8
+glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn876 ptr_glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8
 
 {-# NOINLINE ptr_glVertexArrayVertexAttribOffsetEXT #-}
 ptr_glVertexArrayVertexAttribOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
@@ -936,7 +1067,7 @@
   -> GLintptr -- ^ @offset@.
   -> GLsizei -- ^ @stride@.
   -> m ()
-glVertexArrayVertexBuffer v1 v2 v3 v4 v5 = liftIO $ dyn869 ptr_glVertexArrayVertexBuffer v1 v2 v3 v4 v5
+glVertexArrayVertexBuffer v1 v2 v3 v4 v5 = liftIO $ dyn870 ptr_glVertexArrayVertexBuffer v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexArrayVertexBuffer #-}
 ptr_glVertexArrayVertexBuffer :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
@@ -954,7 +1085,7 @@
   -> Ptr GLintptr -- ^ @offsets@.
   -> Ptr GLsizei -- ^ @strides@.
   -> m ()
-glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6 = liftIO $ dyn876 ptr_glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6
+glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6 = liftIO $ dyn877 ptr_glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexArrayVertexBuffers #-}
 ptr_glVertexArrayVertexBuffers :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
@@ -971,7 +1102,7 @@
   -> GLsizei -- ^ @stride@.
   -> GLintptr -- ^ @offset@.
   -> m ()
-glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn870 ptr_glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6
+glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexArrayVertexOffsetEXT #-}
 ptr_glVertexArrayVertexOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
@@ -985,7 +1116,7 @@
   => GLuint -- ^ @index@.
   -> GLdouble -- ^ @x@.
   -> m ()
-glVertexAttrib1d v1 v2 = liftIO $ dyn877 ptr_glVertexAttrib1d v1 v2
+glVertexAttrib1d v1 v2 = liftIO $ dyn878 ptr_glVertexAttrib1d v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1d #-}
 ptr_glVertexAttrib1d :: FunPtr (GLuint -> GLdouble -> IO ())
@@ -999,7 +1130,7 @@
   => GLuint -- ^ @index@.
   -> GLdouble -- ^ @x@.
   -> m ()
-glVertexAttrib1dARB v1 v2 = liftIO $ dyn877 ptr_glVertexAttrib1dARB v1 v2
+glVertexAttrib1dARB v1 v2 = liftIO $ dyn878 ptr_glVertexAttrib1dARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1dARB #-}
 ptr_glVertexAttrib1dARB :: FunPtr (GLuint -> GLdouble -> IO ())
@@ -1013,7 +1144,7 @@
   => GLuint -- ^ @index@.
   -> GLdouble -- ^ @x@.
   -> m ()
-glVertexAttrib1dNV v1 v2 = liftIO $ dyn877 ptr_glVertexAttrib1dNV v1 v2
+glVertexAttrib1dNV v1 v2 = liftIO $ dyn878 ptr_glVertexAttrib1dNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1dNV #-}
 ptr_glVertexAttrib1dNV :: FunPtr (GLuint -> GLdouble -> IO ())
@@ -1027,7 +1158,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
   -> m ()
-glVertexAttrib1dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib1dv v1 v2
+glVertexAttrib1dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib1dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1dv #-}
 ptr_glVertexAttrib1dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -1041,7 +1172,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
   -> m ()
-glVertexAttrib1dvARB v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib1dvARB v1 v2
+glVertexAttrib1dvARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib1dvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1dvARB #-}
 ptr_glVertexAttrib1dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -1055,7 +1186,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
   -> m ()
-glVertexAttrib1dvNV v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib1dvNV v1 v2
+glVertexAttrib1dvNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib1dvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1dvNV #-}
 ptr_glVertexAttrib1dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -1069,7 +1200,7 @@
   => GLuint -- ^ @index@.
   -> GLfloat -- ^ @x@.
   -> m ()
-glVertexAttrib1f v1 v2 = liftIO $ dyn878 ptr_glVertexAttrib1f v1 v2
+glVertexAttrib1f v1 v2 = liftIO $ dyn879 ptr_glVertexAttrib1f v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1f #-}
 ptr_glVertexAttrib1f :: FunPtr (GLuint -> GLfloat -> IO ())
@@ -1083,7 +1214,7 @@
   => GLuint -- ^ @index@.
   -> GLfloat -- ^ @x@.
   -> m ()
-glVertexAttrib1fARB v1 v2 = liftIO $ dyn878 ptr_glVertexAttrib1fARB v1 v2
+glVertexAttrib1fARB v1 v2 = liftIO $ dyn879 ptr_glVertexAttrib1fARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1fARB #-}
 ptr_glVertexAttrib1fARB :: FunPtr (GLuint -> GLfloat -> IO ())
@@ -1097,7 +1228,7 @@
   => GLuint -- ^ @index@.
   -> GLfloat -- ^ @x@.
   -> m ()
-glVertexAttrib1fNV v1 v2 = liftIO $ dyn878 ptr_glVertexAttrib1fNV v1 v2
+glVertexAttrib1fNV v1 v2 = liftIO $ dyn879 ptr_glVertexAttrib1fNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1fNV #-}
 ptr_glVertexAttrib1fNV :: FunPtr (GLuint -> GLfloat -> IO ())
@@ -1111,7 +1242,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
   -> m ()
-glVertexAttrib1fv v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib1fv v1 v2
+glVertexAttrib1fv v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib1fv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1fv #-}
 ptr_glVertexAttrib1fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -1125,7 +1256,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
   -> m ()
-glVertexAttrib1fvARB v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib1fvARB v1 v2
+glVertexAttrib1fvARB v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib1fvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1fvARB #-}
 ptr_glVertexAttrib1fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -1139,7 +1270,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
   -> m ()
-glVertexAttrib1fvNV v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib1fvNV v1 v2
+glVertexAttrib1fvNV v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib1fvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1fvNV #-}
 ptr_glVertexAttrib1fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -1153,7 +1284,7 @@
   => GLuint -- ^ @index@.
   -> GLhalfNV -- ^ @x@ of type @Half16NV@.
   -> m ()
-glVertexAttrib1hNV v1 v2 = liftIO $ dyn879 ptr_glVertexAttrib1hNV v1 v2
+glVertexAttrib1hNV v1 v2 = liftIO $ dyn880 ptr_glVertexAttrib1hNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1hNV #-}
 ptr_glVertexAttrib1hNV :: FunPtr (GLuint -> GLhalfNV -> IO ())
@@ -1166,7 +1297,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
   -> m ()
-glVertexAttrib1hvNV v1 v2 = liftIO $ dyn880 ptr_glVertexAttrib1hvNV v1 v2
+glVertexAttrib1hvNV v1 v2 = liftIO $ dyn881 ptr_glVertexAttrib1hvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1hvNV #-}
 ptr_glVertexAttrib1hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
@@ -1180,7 +1311,7 @@
   => GLuint -- ^ @index@.
   -> GLshort -- ^ @x@.
   -> m ()
-glVertexAttrib1s v1 v2 = liftIO $ dyn881 ptr_glVertexAttrib1s v1 v2
+glVertexAttrib1s v1 v2 = liftIO $ dyn882 ptr_glVertexAttrib1s v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1s #-}
 ptr_glVertexAttrib1s :: FunPtr (GLuint -> GLshort -> IO ())
@@ -1194,7 +1325,7 @@
   => GLuint -- ^ @index@.
   -> GLshort -- ^ @x@.
   -> m ()
-glVertexAttrib1sARB v1 v2 = liftIO $ dyn881 ptr_glVertexAttrib1sARB v1 v2
+glVertexAttrib1sARB v1 v2 = liftIO $ dyn882 ptr_glVertexAttrib1sARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1sARB #-}
 ptr_glVertexAttrib1sARB :: FunPtr (GLuint -> GLshort -> IO ())
@@ -1208,7 +1339,7 @@
   => GLuint -- ^ @index@.
   -> GLshort -- ^ @x@.
   -> m ()
-glVertexAttrib1sNV v1 v2 = liftIO $ dyn881 ptr_glVertexAttrib1sNV v1 v2
+glVertexAttrib1sNV v1 v2 = liftIO $ dyn882 ptr_glVertexAttrib1sNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1sNV #-}
 ptr_glVertexAttrib1sNV :: FunPtr (GLuint -> GLshort -> IO ())
@@ -1222,7 +1353,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
   -> m ()
-glVertexAttrib1sv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib1sv v1 v2
+glVertexAttrib1sv v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib1sv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1sv #-}
 ptr_glVertexAttrib1sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -1236,7 +1367,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
   -> m ()
-glVertexAttrib1svARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib1svARB v1 v2
+glVertexAttrib1svARB v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib1svARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1svARB #-}
 ptr_glVertexAttrib1svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -1250,7 +1381,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
   -> m ()
-glVertexAttrib1svNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib1svNV v1 v2
+glVertexAttrib1svNV v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib1svNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib1svNV #-}
 ptr_glVertexAttrib1svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -1265,7 +1396,7 @@
   -> GLdouble -- ^ @x@.
   -> GLdouble -- ^ @y@.
   -> m ()
-glVertexAttrib2d v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttrib2d v1 v2 v3
+glVertexAttrib2d v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttrib2d v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttrib2d #-}
 ptr_glVertexAttrib2d :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
@@ -1280,7 +1411,7 @@
   -> GLdouble -- ^ @x@.
   -> GLdouble -- ^ @y@.
   -> m ()
-glVertexAttrib2dARB v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttrib2dARB v1 v2 v3
+glVertexAttrib2dARB v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttrib2dARB v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttrib2dARB #-}
 ptr_glVertexAttrib2dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
@@ -1295,7 +1426,7 @@
   -> GLdouble -- ^ @x@.
   -> GLdouble -- ^ @y@.
   -> m ()
-glVertexAttrib2dNV v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttrib2dNV v1 v2 v3
+glVertexAttrib2dNV v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttrib2dNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttrib2dNV #-}
 ptr_glVertexAttrib2dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
@@ -1309,7 +1440,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib2dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib2dv v1 v2
+glVertexAttrib2dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib2dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib2dv #-}
 ptr_glVertexAttrib2dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -1323,7 +1454,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib2dvARB v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib2dvARB v1 v2
+glVertexAttrib2dvARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib2dvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib2dvARB #-}
 ptr_glVertexAttrib2dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -1337,7 +1468,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib2dvNV v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib2dvNV v1 v2
+glVertexAttrib2dvNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib2dvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib2dvNV #-}
 ptr_glVertexAttrib2dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -1352,7 +1483,7 @@
   -> GLfloat -- ^ @x@.
   -> GLfloat -- ^ @y@.
   -> m ()
-glVertexAttrib2f v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttrib2f v1 v2 v3
+glVertexAttrib2f v1 v2 v3 = liftIO $ dyn225 ptr_glVertexAttrib2f v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttrib2f #-}
 ptr_glVertexAttrib2f :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
@@ -1367,7 +1498,7 @@
   -> GLfloat -- ^ @x@.
   -> GLfloat -- ^ @y@.
   -> m ()
-glVertexAttrib2fARB v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttrib2fARB v1 v2 v3
+glVertexAttrib2fARB v1 v2 v3 = liftIO $ dyn225 ptr_glVertexAttrib2fARB v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttrib2fARB #-}
 ptr_glVertexAttrib2fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
@@ -1382,7 +1513,7 @@
   -> GLfloat -- ^ @x@.
   -> GLfloat -- ^ @y@.
   -> m ()
-glVertexAttrib2fNV v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttrib2fNV v1 v2 v3
+glVertexAttrib2fNV v1 v2 v3 = liftIO $ dyn225 ptr_glVertexAttrib2fNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttrib2fNV #-}
 ptr_glVertexAttrib2fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
@@ -1396,7 +1527,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib2fv v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib2fv v1 v2
+glVertexAttrib2fv v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib2fv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib2fv #-}
 ptr_glVertexAttrib2fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -1410,7 +1541,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib2fvARB v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib2fvARB v1 v2
+glVertexAttrib2fvARB v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib2fvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib2fvARB #-}
 ptr_glVertexAttrib2fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -1424,7 +1555,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib2fvNV v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib2fvNV v1 v2
+glVertexAttrib2fvNV v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib2fvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib2fvNV #-}
 ptr_glVertexAttrib2fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -1439,157 +1570,9 @@
   -> GLhalfNV -- ^ @x@ of type @Half16NV@.
   -> GLhalfNV -- ^ @y@ of type @Half16NV@.
   -> m ()
-glVertexAttrib2hNV v1 v2 v3 = liftIO $ dyn882 ptr_glVertexAttrib2hNV v1 v2 v3
+glVertexAttrib2hNV v1 v2 v3 = liftIO $ dyn883 ptr_glVertexAttrib2hNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttrib2hNV #-}
 ptr_glVertexAttrib2hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ())
 ptr_glVertexAttrib2hNV = unsafePerformIO $ getCommand "glVertexAttrib2hNV"
-
--- glVertexAttrib2hvNV ---------------------------------------------------------
-
-glVertexAttrib2hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttrib2hvNV v1 v2 = liftIO $ dyn880 ptr_glVertexAttrib2hvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2hvNV #-}
-ptr_glVertexAttrib2hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttrib2hvNV = unsafePerformIO $ getCommand "glVertexAttrib2hvNV"
-
--- glVertexAttrib2s ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2sv'.
-glVertexAttrib2s
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> m ()
-glVertexAttrib2s v1 v2 v3 = liftIO $ dyn883 ptr_glVertexAttrib2s v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2s #-}
-ptr_glVertexAttrib2s :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib2s = unsafePerformIO $ getCommand "glVertexAttrib2s"
-
--- glVertexAttrib2sARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2svARB'. This command is an alias for 'glVertexAttrib2s'.
-glVertexAttrib2sARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> m ()
-glVertexAttrib2sARB v1 v2 v3 = liftIO $ dyn883 ptr_glVertexAttrib2sARB v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2sARB #-}
-ptr_glVertexAttrib2sARB :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib2sARB = unsafePerformIO $ getCommand "glVertexAttrib2sARB"
-
--- glVertexAttrib2sNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2svNV'. This command is an alias for 'glVertexAttrib2s'.
-glVertexAttrib2sNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> m ()
-glVertexAttrib2sNV v1 v2 v3 = liftIO $ dyn883 ptr_glVertexAttrib2sNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2sNV #-}
-ptr_glVertexAttrib2sNV :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib2sNV = unsafePerformIO $ getCommand "glVertexAttrib2sNV"
-
--- glVertexAttrib2sv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib2sv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib2sv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib2sv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2sv #-}
-ptr_glVertexAttrib2sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib2sv = unsafePerformIO $ getCommand "glVertexAttrib2sv"
-
--- glVertexAttrib2svARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2sv'.
-glVertexAttrib2svARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib2svARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib2svARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2svARB #-}
-ptr_glVertexAttrib2svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib2svARB = unsafePerformIO $ getCommand "glVertexAttrib2svARB"
-
--- glVertexAttrib2svNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2sv'.
-glVertexAttrib2svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib2svNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib2svNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2svNV #-}
-ptr_glVertexAttrib2svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib2svNV = unsafePerformIO $ getCommand "glVertexAttrib2svNV"
-
--- glVertexAttrib3d ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3dv'.
-glVertexAttrib3d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttrib3d v1 v2 v3 v4 = liftIO $ dyn884 ptr_glVertexAttrib3d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3d #-}
-ptr_glVertexAttrib3d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib3d = unsafePerformIO $ getCommand "glVertexAttrib3d"
-
--- glVertexAttrib3dARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3dvARB'. This command is an alias for 'glVertexAttrib3d'.
-glVertexAttrib3dARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttrib3dARB v1 v2 v3 v4 = liftIO $ dyn884 ptr_glVertexAttrib3dARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3dARB #-}
-ptr_glVertexAttrib3dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib3dARB = unsafePerformIO $ getCommand "glVertexAttrib3dARB"
-
--- glVertexAttrib3dNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3dvNV'. This command is an alias for 'glVertexAttrib3d'.
-glVertexAttrib3dNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttrib3dNV v1 v2 v3 v4 = liftIO $ dyn884 ptr_glVertexAttrib3dNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3dNV #-}
-ptr_glVertexAttrib3dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib3dNV = unsafePerformIO $ getCommand "glVertexAttrib3dNV"
 
diff --git a/src/Graphics/GL/Functions/F30.hs b/src/Graphics/GL/Functions/F30.hs
--- a/src/Graphics/GL/Functions/F30.hs
+++ b/src/Graphics/GL/Functions/F30.hs
@@ -15,6 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F30 (
+  glVertexAttrib2hvNV,
+  glVertexAttrib2s,
+  glVertexAttrib2sARB,
+  glVertexAttrib2sNV,
+  glVertexAttrib2sv,
+  glVertexAttrib2svARB,
+  glVertexAttrib2svNV,
+  glVertexAttrib3d,
+  glVertexAttrib3dARB,
+  glVertexAttrib3dNV,
   glVertexAttrib3dv,
   glVertexAttrib3dvARB,
   glVertexAttrib3dvNV,
@@ -104,17 +114,7 @@
   glVertexAttribI2uiv,
   glVertexAttribI2uivEXT,
   glVertexAttribI3i,
-  glVertexAttribI3iEXT,
-  glVertexAttribI3iv,
-  glVertexAttribI3ivEXT,
-  glVertexAttribI3ui,
-  glVertexAttribI3uiEXT,
-  glVertexAttribI3uiv,
-  glVertexAttribI3uivEXT,
-  glVertexAttribI4bv,
-  glVertexAttribI4bvEXT,
-  glVertexAttribI4i,
-  glVertexAttribI4iEXT
+  glVertexAttribI3iEXT
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,154 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glVertexAttrib2hvNV ---------------------------------------------------------
+
+glVertexAttrib2hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttrib2hvNV v1 v2 = liftIO $ dyn881 ptr_glVertexAttrib2hvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2hvNV #-}
+ptr_glVertexAttrib2hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttrib2hvNV = unsafePerformIO $ getCommand "glVertexAttrib2hvNV"
+
+-- glVertexAttrib2s ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2sv'.
+glVertexAttrib2s
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> m ()
+glVertexAttrib2s v1 v2 v3 = liftIO $ dyn884 ptr_glVertexAttrib2s v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2s #-}
+ptr_glVertexAttrib2s :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib2s = unsafePerformIO $ getCommand "glVertexAttrib2s"
+
+-- glVertexAttrib2sARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2svARB'. This command is an alias for 'glVertexAttrib2s'.
+glVertexAttrib2sARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> m ()
+glVertexAttrib2sARB v1 v2 v3 = liftIO $ dyn884 ptr_glVertexAttrib2sARB v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2sARB #-}
+ptr_glVertexAttrib2sARB :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib2sARB = unsafePerformIO $ getCommand "glVertexAttrib2sARB"
+
+-- glVertexAttrib2sNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2svNV'. This command is an alias for 'glVertexAttrib2s'.
+glVertexAttrib2sNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> m ()
+glVertexAttrib2sNV v1 v2 v3 = liftIO $ dyn884 ptr_glVertexAttrib2sNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2sNV #-}
+ptr_glVertexAttrib2sNV :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib2sNV = unsafePerformIO $ getCommand "glVertexAttrib2sNV"
+
+-- glVertexAttrib2sv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib2sv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib2sv v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib2sv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2sv #-}
+ptr_glVertexAttrib2sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib2sv = unsafePerformIO $ getCommand "glVertexAttrib2sv"
+
+-- glVertexAttrib2svARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2sv'.
+glVertexAttrib2svARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib2svARB v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib2svARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2svARB #-}
+ptr_glVertexAttrib2svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib2svARB = unsafePerformIO $ getCommand "glVertexAttrib2svARB"
+
+-- glVertexAttrib2svNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2sv'.
+glVertexAttrib2svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib2svNV v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib2svNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2svNV #-}
+ptr_glVertexAttrib2svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib2svNV = unsafePerformIO $ getCommand "glVertexAttrib2svNV"
+
+-- glVertexAttrib3d ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3dv'.
+glVertexAttrib3d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttrib3d v1 v2 v3 v4 = liftIO $ dyn885 ptr_glVertexAttrib3d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3d #-}
+ptr_glVertexAttrib3d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib3d = unsafePerformIO $ getCommand "glVertexAttrib3d"
+
+-- glVertexAttrib3dARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3dvARB'. This command is an alias for 'glVertexAttrib3d'.
+glVertexAttrib3dARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttrib3dARB v1 v2 v3 v4 = liftIO $ dyn885 ptr_glVertexAttrib3dARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3dARB #-}
+ptr_glVertexAttrib3dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib3dARB = unsafePerformIO $ getCommand "glVertexAttrib3dARB"
+
+-- glVertexAttrib3dNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3dvNV'. This command is an alias for 'glVertexAttrib3d'.
+glVertexAttrib3dNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttrib3dNV v1 v2 v3 v4 = liftIO $ dyn885 ptr_glVertexAttrib3dNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3dNV #-}
+ptr_glVertexAttrib3dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib3dNV = unsafePerformIO $ getCommand "glVertexAttrib3dNV"
+
 -- glVertexAttrib3dv -----------------------------------------------------------
 
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
@@ -131,7 +279,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib3dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib3dv v1 v2
+glVertexAttrib3dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib3dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3dv #-}
 ptr_glVertexAttrib3dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -145,7 +293,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib3dvARB v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib3dvARB v1 v2
+glVertexAttrib3dvARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib3dvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3dvARB #-}
 ptr_glVertexAttrib3dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -159,7 +307,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib3dvNV v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib3dvNV v1 v2
+glVertexAttrib3dvNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib3dvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3dvNV #-}
 ptr_glVertexAttrib3dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -175,7 +323,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glVertexAttrib3f v1 v2 v3 v4 = liftIO $ dyn718 ptr_glVertexAttrib3f v1 v2 v3 v4
+glVertexAttrib3f v1 v2 v3 v4 = liftIO $ dyn719 ptr_glVertexAttrib3f v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttrib3f #-}
 ptr_glVertexAttrib3f :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -191,7 +339,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glVertexAttrib3fARB v1 v2 v3 v4 = liftIO $ dyn718 ptr_glVertexAttrib3fARB v1 v2 v3 v4
+glVertexAttrib3fARB v1 v2 v3 v4 = liftIO $ dyn719 ptr_glVertexAttrib3fARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttrib3fARB #-}
 ptr_glVertexAttrib3fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -207,7 +355,7 @@
   -> GLfloat -- ^ @y@.
   -> GLfloat -- ^ @z@.
   -> m ()
-glVertexAttrib3fNV v1 v2 v3 v4 = liftIO $ dyn718 ptr_glVertexAttrib3fNV v1 v2 v3 v4
+glVertexAttrib3fNV v1 v2 v3 v4 = liftIO $ dyn719 ptr_glVertexAttrib3fNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttrib3fNV #-}
 ptr_glVertexAttrib3fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -221,7 +369,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib3fv v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib3fv v1 v2
+glVertexAttrib3fv v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib3fv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3fv #-}
 ptr_glVertexAttrib3fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -235,7 +383,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib3fvARB v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib3fvARB v1 v2
+glVertexAttrib3fvARB v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib3fvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3fvARB #-}
 ptr_glVertexAttrib3fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -249,7 +397,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib3fvNV v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib3fvNV v1 v2
+glVertexAttrib3fvNV v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib3fvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3fvNV #-}
 ptr_glVertexAttrib3fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -265,7 +413,7 @@
   -> GLhalfNV -- ^ @y@ of type @Half16NV@.
   -> GLhalfNV -- ^ @z@ of type @Half16NV@.
   -> m ()
-glVertexAttrib3hNV v1 v2 v3 v4 = liftIO $ dyn885 ptr_glVertexAttrib3hNV v1 v2 v3 v4
+glVertexAttrib3hNV v1 v2 v3 v4 = liftIO $ dyn886 ptr_glVertexAttrib3hNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttrib3hNV #-}
 ptr_glVertexAttrib3hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
@@ -278,7 +426,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
   -> m ()
-glVertexAttrib3hvNV v1 v2 = liftIO $ dyn880 ptr_glVertexAttrib3hvNV v1 v2
+glVertexAttrib3hvNV v1 v2 = liftIO $ dyn881 ptr_glVertexAttrib3hvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3hvNV #-}
 ptr_glVertexAttrib3hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
@@ -294,7 +442,7 @@
   -> GLshort -- ^ @y@.
   -> GLshort -- ^ @z@.
   -> m ()
-glVertexAttrib3s v1 v2 v3 v4 = liftIO $ dyn886 ptr_glVertexAttrib3s v1 v2 v3 v4
+glVertexAttrib3s v1 v2 v3 v4 = liftIO $ dyn887 ptr_glVertexAttrib3s v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttrib3s #-}
 ptr_glVertexAttrib3s :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
@@ -310,7 +458,7 @@
   -> GLshort -- ^ @y@.
   -> GLshort -- ^ @z@.
   -> m ()
-glVertexAttrib3sARB v1 v2 v3 v4 = liftIO $ dyn886 ptr_glVertexAttrib3sARB v1 v2 v3 v4
+glVertexAttrib3sARB v1 v2 v3 v4 = liftIO $ dyn887 ptr_glVertexAttrib3sARB v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttrib3sARB #-}
 ptr_glVertexAttrib3sARB :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
@@ -326,7 +474,7 @@
   -> GLshort -- ^ @y@.
   -> GLshort -- ^ @z@.
   -> m ()
-glVertexAttrib3sNV v1 v2 v3 v4 = liftIO $ dyn886 ptr_glVertexAttrib3sNV v1 v2 v3 v4
+glVertexAttrib3sNV v1 v2 v3 v4 = liftIO $ dyn887 ptr_glVertexAttrib3sNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttrib3sNV #-}
 ptr_glVertexAttrib3sNV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
@@ -340,7 +488,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib3sv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib3sv v1 v2
+glVertexAttrib3sv v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib3sv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3sv #-}
 ptr_glVertexAttrib3sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -354,7 +502,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib3svARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib3svARB v1 v2
+glVertexAttrib3svARB v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib3svARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3svARB #-}
 ptr_glVertexAttrib3svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -368,7 +516,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib3svNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib3svNV v1 v2
+glVertexAttrib3svNV v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib3svNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib3svNV #-}
 ptr_glVertexAttrib3svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -382,7 +530,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
   -> m ()
-glVertexAttrib4Nbv v1 v2 = liftIO $ dyn863 ptr_glVertexAttrib4Nbv v1 v2
+glVertexAttrib4Nbv v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib4Nbv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4Nbv #-}
 ptr_glVertexAttrib4Nbv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
@@ -396,7 +544,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
   -> m ()
-glVertexAttrib4NbvARB v1 v2 = liftIO $ dyn863 ptr_glVertexAttrib4NbvARB v1 v2
+glVertexAttrib4NbvARB v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib4NbvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4NbvARB #-}
 ptr_glVertexAttrib4NbvARB :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
@@ -410,7 +558,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glVertexAttrib4Niv v1 v2 = liftIO $ dyn726 ptr_glVertexAttrib4Niv v1 v2
+glVertexAttrib4Niv v1 v2 = liftIO $ dyn727 ptr_glVertexAttrib4Niv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4Niv #-}
 ptr_glVertexAttrib4Niv :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -424,7 +572,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glVertexAttrib4NivARB v1 v2 = liftIO $ dyn726 ptr_glVertexAttrib4NivARB v1 v2
+glVertexAttrib4NivARB v1 v2 = liftIO $ dyn727 ptr_glVertexAttrib4NivARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4NivARB #-}
 ptr_glVertexAttrib4NivARB :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -438,7 +586,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib4Nsv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4Nsv v1 v2
+glVertexAttrib4Nsv v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4Nsv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4Nsv #-}
 ptr_glVertexAttrib4Nsv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -452,7 +600,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib4NsvARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4NsvARB v1 v2
+glVertexAttrib4NsvARB v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4NsvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4NsvARB #-}
 ptr_glVertexAttrib4NsvARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -469,7 +617,7 @@
   -> GLubyte -- ^ @z@.
   -> GLubyte -- ^ @w@.
   -> m ()
-glVertexAttrib4Nub v1 v2 v3 v4 v5 = liftIO $ dyn887 ptr_glVertexAttrib4Nub v1 v2 v3 v4 v5
+glVertexAttrib4Nub v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttrib4Nub v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4Nub #-}
 ptr_glVertexAttrib4Nub :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
@@ -486,7 +634,7 @@
   -> GLubyte -- ^ @z@.
   -> GLubyte -- ^ @w@.
   -> m ()
-glVertexAttrib4NubARB v1 v2 v3 v4 v5 = liftIO $ dyn887 ptr_glVertexAttrib4NubARB v1 v2 v3 v4 v5
+glVertexAttrib4NubARB v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttrib4NubARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4NubARB #-}
 ptr_glVertexAttrib4NubARB :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
@@ -500,7 +648,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
   -> m ()
-glVertexAttrib4Nubv v1 v2 = liftIO $ dyn385 ptr_glVertexAttrib4Nubv v1 v2
+glVertexAttrib4Nubv v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4Nubv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4Nubv #-}
 ptr_glVertexAttrib4Nubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -514,7 +662,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
   -> m ()
-glVertexAttrib4NubvARB v1 v2 = liftIO $ dyn385 ptr_glVertexAttrib4NubvARB v1 v2
+glVertexAttrib4NubvARB v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4NubvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4NubvARB #-}
 ptr_glVertexAttrib4NubvARB :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -556,7 +704,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
   -> m ()
-glVertexAttrib4Nusv v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4Nusv v1 v2
+glVertexAttrib4Nusv v1 v2 = liftIO $ dyn867 ptr_glVertexAttrib4Nusv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4Nusv #-}
 ptr_glVertexAttrib4Nusv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
@@ -570,7 +718,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
   -> m ()
-glVertexAttrib4NusvARB v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4NusvARB v1 v2
+glVertexAttrib4NusvARB v1 v2 = liftIO $ dyn867 ptr_glVertexAttrib4NusvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4NusvARB #-}
 ptr_glVertexAttrib4NusvARB :: FunPtr (GLuint -> Ptr GLushort -> IO ())
@@ -584,7 +732,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
   -> m ()
-glVertexAttrib4bv v1 v2 = liftIO $ dyn863 ptr_glVertexAttrib4bv v1 v2
+glVertexAttrib4bv v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib4bv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4bv #-}
 ptr_glVertexAttrib4bv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
@@ -598,7 +746,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
   -> m ()
-glVertexAttrib4bvARB v1 v2 = liftIO $ dyn863 ptr_glVertexAttrib4bvARB v1 v2
+glVertexAttrib4bvARB v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib4bvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4bvARB #-}
 ptr_glVertexAttrib4bvARB :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
@@ -615,7 +763,7 @@
   -> GLdouble -- ^ @z@.
   -> GLdouble -- ^ @w@.
   -> m ()
-glVertexAttrib4d v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttrib4d v1 v2 v3 v4 v5
+glVertexAttrib4d v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttrib4d v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4d #-}
 ptr_glVertexAttrib4d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -632,7 +780,7 @@
   -> GLdouble -- ^ @z@.
   -> GLdouble -- ^ @w@.
   -> m ()
-glVertexAttrib4dARB v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttrib4dARB v1 v2 v3 v4 v5
+glVertexAttrib4dARB v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttrib4dARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4dARB #-}
 ptr_glVertexAttrib4dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -649,7 +797,7 @@
   -> GLdouble -- ^ @z@.
   -> GLdouble -- ^ @w@.
   -> m ()
-glVertexAttrib4dNV v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttrib4dNV v1 v2 v3 v4 v5
+glVertexAttrib4dNV v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttrib4dNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4dNV #-}
 ptr_glVertexAttrib4dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -663,7 +811,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib4dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib4dv v1 v2
+glVertexAttrib4dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4dv #-}
 ptr_glVertexAttrib4dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -677,7 +825,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib4dvARB v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib4dvARB v1 v2
+glVertexAttrib4dvARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4dvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4dvARB #-}
 ptr_glVertexAttrib4dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -691,7 +839,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glVertexAttrib4dvNV v1 v2 = liftIO $ dyn864 ptr_glVertexAttrib4dvNV v1 v2
+glVertexAttrib4dvNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4dvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4dvNV #-}
 ptr_glVertexAttrib4dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -708,7 +856,7 @@
   -> GLfloat -- ^ @z@.
   -> GLfloat -- ^ @w@.
   -> m ()
-glVertexAttrib4f v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttrib4f v1 v2 v3 v4 v5
+glVertexAttrib4f v1 v2 v3 v4 v5 = liftIO $ dyn890 ptr_glVertexAttrib4f v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4f #-}
 ptr_glVertexAttrib4f :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -725,7 +873,7 @@
   -> GLfloat -- ^ @z@.
   -> GLfloat -- ^ @w@.
   -> m ()
-glVertexAttrib4fARB v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttrib4fARB v1 v2 v3 v4 v5
+glVertexAttrib4fARB v1 v2 v3 v4 v5 = liftIO $ dyn890 ptr_glVertexAttrib4fARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4fARB #-}
 ptr_glVertexAttrib4fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -742,7 +890,7 @@
   -> GLfloat -- ^ @z@.
   -> GLfloat -- ^ @w@.
   -> m ()
-glVertexAttrib4fNV v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttrib4fNV v1 v2 v3 v4 v5
+glVertexAttrib4fNV v1 v2 v3 v4 v5 = liftIO $ dyn890 ptr_glVertexAttrib4fNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4fNV #-}
 ptr_glVertexAttrib4fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -756,7 +904,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib4fv v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4fv v1 v2
+glVertexAttrib4fv v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib4fv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4fv #-}
 ptr_glVertexAttrib4fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -770,7 +918,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib4fvARB v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4fvARB v1 v2
+glVertexAttrib4fvARB v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib4fvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4fvARB #-}
 ptr_glVertexAttrib4fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -784,7 +932,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glVertexAttrib4fvNV v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4fvNV v1 v2
+glVertexAttrib4fvNV v1 v2 = liftIO $ dyn387 ptr_glVertexAttrib4fvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4fvNV #-}
 ptr_glVertexAttrib4fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -801,7 +949,7 @@
   -> GLhalfNV -- ^ @z@ of type @Half16NV@.
   -> GLhalfNV -- ^ @w@ of type @Half16NV@.
   -> m ()
-glVertexAttrib4hNV v1 v2 v3 v4 v5 = liftIO $ dyn890 ptr_glVertexAttrib4hNV v1 v2 v3 v4 v5
+glVertexAttrib4hNV v1 v2 v3 v4 v5 = liftIO $ dyn891 ptr_glVertexAttrib4hNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4hNV #-}
 ptr_glVertexAttrib4hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
@@ -814,7 +962,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
   -> m ()
-glVertexAttrib4hvNV v1 v2 = liftIO $ dyn880 ptr_glVertexAttrib4hvNV v1 v2
+glVertexAttrib4hvNV v1 v2 = liftIO $ dyn881 ptr_glVertexAttrib4hvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4hvNV #-}
 ptr_glVertexAttrib4hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
@@ -828,7 +976,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glVertexAttrib4iv v1 v2 = liftIO $ dyn726 ptr_glVertexAttrib4iv v1 v2
+glVertexAttrib4iv v1 v2 = liftIO $ dyn727 ptr_glVertexAttrib4iv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4iv #-}
 ptr_glVertexAttrib4iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -842,7 +990,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glVertexAttrib4ivARB v1 v2 = liftIO $ dyn726 ptr_glVertexAttrib4ivARB v1 v2
+glVertexAttrib4ivARB v1 v2 = liftIO $ dyn727 ptr_glVertexAttrib4ivARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4ivARB #-}
 ptr_glVertexAttrib4ivARB :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -859,7 +1007,7 @@
   -> GLshort -- ^ @z@.
   -> GLshort -- ^ @w@.
   -> m ()
-glVertexAttrib4s v1 v2 v3 v4 v5 = liftIO $ dyn891 ptr_glVertexAttrib4s v1 v2 v3 v4 v5
+glVertexAttrib4s v1 v2 v3 v4 v5 = liftIO $ dyn892 ptr_glVertexAttrib4s v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4s #-}
 ptr_glVertexAttrib4s :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
@@ -876,7 +1024,7 @@
   -> GLshort -- ^ @z@.
   -> GLshort -- ^ @w@.
   -> m ()
-glVertexAttrib4sARB v1 v2 v3 v4 v5 = liftIO $ dyn891 ptr_glVertexAttrib4sARB v1 v2 v3 v4 v5
+glVertexAttrib4sARB v1 v2 v3 v4 v5 = liftIO $ dyn892 ptr_glVertexAttrib4sARB v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4sARB #-}
 ptr_glVertexAttrib4sARB :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
@@ -893,7 +1041,7 @@
   -> GLshort -- ^ @z@.
   -> GLshort -- ^ @w@.
   -> m ()
-glVertexAttrib4sNV v1 v2 v3 v4 v5 = liftIO $ dyn891 ptr_glVertexAttrib4sNV v1 v2 v3 v4 v5
+glVertexAttrib4sNV v1 v2 v3 v4 v5 = liftIO $ dyn892 ptr_glVertexAttrib4sNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4sNV #-}
 ptr_glVertexAttrib4sNV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
@@ -907,7 +1055,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib4sv v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4sv v1 v2
+glVertexAttrib4sv v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4sv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4sv #-}
 ptr_glVertexAttrib4sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -921,7 +1069,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib4svARB v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4svARB v1 v2
+glVertexAttrib4svARB v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4svARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4svARB #-}
 ptr_glVertexAttrib4svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -935,7 +1083,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
   -> m ()
-glVertexAttrib4svNV v1 v2 = liftIO $ dyn865 ptr_glVertexAttrib4svNV v1 v2
+glVertexAttrib4svNV v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4svNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4svNV #-}
 ptr_glVertexAttrib4svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -952,7 +1100,7 @@
   -> GLubyte -- ^ @z@ of type @ColorUB@.
   -> GLubyte -- ^ @w@ of type @ColorUB@.
   -> m ()
-glVertexAttrib4ubNV v1 v2 v3 v4 v5 = liftIO $ dyn887 ptr_glVertexAttrib4ubNV v1 v2 v3 v4 v5
+glVertexAttrib4ubNV v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttrib4ubNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttrib4ubNV #-}
 ptr_glVertexAttrib4ubNV :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
@@ -966,7 +1114,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
   -> m ()
-glVertexAttrib4ubv v1 v2 = liftIO $ dyn385 ptr_glVertexAttrib4ubv v1 v2
+glVertexAttrib4ubv v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4ubv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4ubv #-}
 ptr_glVertexAttrib4ubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -980,7 +1128,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
   -> m ()
-glVertexAttrib4ubvARB v1 v2 = liftIO $ dyn385 ptr_glVertexAttrib4ubvARB v1 v2
+glVertexAttrib4ubvARB v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4ubvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4ubvARB #-}
 ptr_glVertexAttrib4ubvARB :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -994,7 +1142,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @ColorUB@.
   -> m ()
-glVertexAttrib4ubvNV v1 v2 = liftIO $ dyn385 ptr_glVertexAttrib4ubvNV v1 v2
+glVertexAttrib4ubvNV v1 v2 = liftIO $ dyn386 ptr_glVertexAttrib4ubvNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4ubvNV #-}
 ptr_glVertexAttrib4ubvNV :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -1036,7 +1184,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
   -> m ()
-glVertexAttrib4usv v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4usv v1 v2
+glVertexAttrib4usv v1 v2 = liftIO $ dyn867 ptr_glVertexAttrib4usv v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4usv #-}
 ptr_glVertexAttrib4usv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
@@ -1050,7 +1198,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
   -> m ()
-glVertexAttrib4usvARB v1 v2 = liftIO $ dyn866 ptr_glVertexAttrib4usvARB v1 v2
+glVertexAttrib4usvARB v1 v2 = liftIO $ dyn867 ptr_glVertexAttrib4usvARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttrib4usvARB #-}
 ptr_glVertexAttrib4usvARB :: FunPtr (GLuint -> Ptr GLushort -> IO ())
@@ -1062,13 +1210,13 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLsizei -- ^ @stride@.
   -> GLuint -- ^ @buffer@.
   -> GLuint -- ^ @offset@.
   -> m ()
-glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn892 ptr_glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7
+glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn893 ptr_glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7
 
 {-# NOINLINE ptr_glVertexAttribArrayObjectATI #-}
 ptr_glVertexAttribArrayObjectATI :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
@@ -1169,7 +1317,7 @@
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexAttribFormat v1 v2 v3 v4 v5 = liftIO $ dyn893 ptr_glVertexAttribFormat v1 v2 v3 v4 v5
+glVertexAttribFormat v1 v2 v3 v4 v5 = liftIO $ dyn894 ptr_glVertexAttribFormat v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribFormat #-}
 ptr_glVertexAttribFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
@@ -1185,7 +1333,7 @@
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLsizei -- ^ @stride@.
   -> m ()
-glVertexAttribFormatNV v1 v2 v3 v4 v5 = liftIO $ dyn894 ptr_glVertexAttribFormatNV v1 v2 v3 v4 v5
+glVertexAttribFormatNV v1 v2 v3 v4 v5 = liftIO $ dyn895 ptr_glVertexAttribFormatNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribFormatNV #-}
 ptr_glVertexAttribFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
@@ -1227,7 +1375,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @GLint@.
   -> m ()
-glVertexAttribI1iv v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI1iv v1 v2
+glVertexAttribI1iv v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI1iv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI1iv #-}
 ptr_glVertexAttribI1iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1241,7 +1389,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @GLint@.
   -> m ()
-glVertexAttribI1ivEXT v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI1ivEXT v1 v2
+glVertexAttribI1ivEXT v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI1ivEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI1ivEXT #-}
 ptr_glVertexAttribI1ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1341,7 +1489,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @GLint@.
   -> m ()
-glVertexAttribI2iv v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI2iv v1 v2
+glVertexAttribI2iv v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI2iv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI2iv #-}
 ptr_glVertexAttribI2iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1355,7 +1503,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @GLint@.
   -> m ()
-glVertexAttribI2ivEXT v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI2ivEXT v1 v2
+glVertexAttribI2ivEXT v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI2ivEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI2ivEXT #-}
 ptr_glVertexAttribI2ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -1450,154 +1598,4 @@
 {-# NOINLINE ptr_glVertexAttribI3iEXT #-}
 ptr_glVertexAttribI3iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
 ptr_glVertexAttribI3iEXT = unsafePerformIO $ getCommand "glVertexAttribI3iEXT"
-
--- glVertexAttribI3iv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI3iv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI3iv v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI3iv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3iv #-}
-ptr_glVertexAttribI3iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI3iv = unsafePerformIO $ getCommand "glVertexAttribI3iv"
-
--- glVertexAttribI3ivEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI3iv'.
-glVertexAttribI3ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI3ivEXT v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI3ivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3ivEXT #-}
-ptr_glVertexAttribI3ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI3ivEXT = unsafePerformIO $ getCommand "glVertexAttribI3ivEXT"
-
--- glVertexAttribI3ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI3uiv'.
-glVertexAttribI3ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> m ()
-glVertexAttribI3ui v1 v2 v3 v4 = liftIO $ dyn80 ptr_glVertexAttribI3ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribI3ui #-}
-ptr_glVertexAttribI3ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI3ui = unsafePerformIO $ getCommand "glVertexAttribI3ui"
-
--- glVertexAttribI3uiEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI3uivEXT'. This command is an alias for 'glVertexAttribI3ui'.
-glVertexAttribI3uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> m ()
-glVertexAttribI3uiEXT v1 v2 v3 v4 = liftIO $ dyn80 ptr_glVertexAttribI3uiEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribI3uiEXT #-}
-ptr_glVertexAttribI3uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI3uiEXT = unsafePerformIO $ getCommand "glVertexAttribI3uiEXT"
-
--- glVertexAttribI3uiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI3uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI3uiv v1 v2 = liftIO $ dyn197 ptr_glVertexAttribI3uiv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3uiv #-}
-ptr_glVertexAttribI3uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI3uiv = unsafePerformIO $ getCommand "glVertexAttribI3uiv"
-
--- glVertexAttribI3uivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI3uiv'.
-glVertexAttribI3uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI3uivEXT v1 v2 = liftIO $ dyn197 ptr_glVertexAttribI3uivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3uivEXT #-}
-ptr_glVertexAttribI3uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI3uivEXT = unsafePerformIO $ getCommand "glVertexAttribI3uivEXT"
-
--- glVertexAttribI4bv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI4bv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttribI4bv v1 v2 = liftIO $ dyn863 ptr_glVertexAttribI4bv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4bv #-}
-ptr_glVertexAttribI4bv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttribI4bv = unsafePerformIO $ getCommand "glVertexAttribI4bv"
-
--- glVertexAttribI4bvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI4bv'.
-glVertexAttribI4bvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttribI4bvEXT v1 v2 = liftIO $ dyn863 ptr_glVertexAttribI4bvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4bvEXT #-}
-ptr_glVertexAttribI4bvEXT :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttribI4bvEXT = unsafePerformIO $ getCommand "glVertexAttribI4bvEXT"
-
--- glVertexAttribI4i -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI4iv'.
-glVertexAttribI4i
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glVertexAttribI4i v1 v2 v3 v4 v5 = liftIO $ dyn676 ptr_glVertexAttribI4i v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribI4i #-}
-ptr_glVertexAttribI4i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI4i = unsafePerformIO $ getCommand "glVertexAttribI4i"
-
--- glVertexAttribI4iEXT --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI4ivEXT'. This command is an alias for 'glVertexAttribI4i'.
-glVertexAttribI4iEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glVertexAttribI4iEXT v1 v2 v3 v4 v5 = liftIO $ dyn676 ptr_glVertexAttribI4iEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribI4iEXT #-}
-ptr_glVertexAttribI4iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI4iEXT = unsafePerformIO $ getCommand "glVertexAttribI4iEXT"
 
diff --git a/src/Graphics/GL/Functions/F31.hs b/src/Graphics/GL/Functions/F31.hs
--- a/src/Graphics/GL/Functions/F31.hs
+++ b/src/Graphics/GL/Functions/F31.hs
@@ -15,6 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F31 (
+  glVertexAttribI3iv,
+  glVertexAttribI3ivEXT,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiEXT,
+  glVertexAttribI3uiv,
+  glVertexAttribI3uivEXT,
+  glVertexAttribI4bv,
+  glVertexAttribI4bvEXT,
+  glVertexAttribI4i,
+  glVertexAttribI4iEXT,
   glVertexAttribI4iv,
   glVertexAttribI4ivEXT,
   glVertexAttribI4sv,
@@ -104,17 +114,7 @@
   glVertexBlendEnviATI,
   glVertexFormatNV,
   glVertexP2ui,
-  glVertexP2uiv,
-  glVertexP3ui,
-  glVertexP3uiv,
-  glVertexP4ui,
-  glVertexP4uiv,
-  glVertexPointer,
-  glVertexPointerEXT,
-  glVertexPointerListIBM,
-  glVertexPointervINTEL,
-  glVertexStream1dATI,
-  glVertexStream1dvATI
+  glVertexP2uiv
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,156 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glVertexAttribI3iv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI3iv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI3iv v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI3iv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3iv #-}
+ptr_glVertexAttribI3iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI3iv = unsafePerformIO $ getCommand "glVertexAttribI3iv"
+
+-- glVertexAttribI3ivEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI3iv'.
+glVertexAttribI3ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI3ivEXT v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI3ivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3ivEXT #-}
+ptr_glVertexAttribI3ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI3ivEXT = unsafePerformIO $ getCommand "glVertexAttribI3ivEXT"
+
+-- glVertexAttribI3ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI3uiv'.
+glVertexAttribI3ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> m ()
+glVertexAttribI3ui v1 v2 v3 v4 = liftIO $ dyn80 ptr_glVertexAttribI3ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribI3ui #-}
+ptr_glVertexAttribI3ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI3ui = unsafePerformIO $ getCommand "glVertexAttribI3ui"
+
+-- glVertexAttribI3uiEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI3uivEXT'. This command is an alias for 'glVertexAttribI3ui'.
+glVertexAttribI3uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> m ()
+glVertexAttribI3uiEXT v1 v2 v3 v4 = liftIO $ dyn80 ptr_glVertexAttribI3uiEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribI3uiEXT #-}
+ptr_glVertexAttribI3uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI3uiEXT = unsafePerformIO $ getCommand "glVertexAttribI3uiEXT"
+
+-- glVertexAttribI3uiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI3uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI3uiv v1 v2 = liftIO $ dyn197 ptr_glVertexAttribI3uiv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3uiv #-}
+ptr_glVertexAttribI3uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI3uiv = unsafePerformIO $ getCommand "glVertexAttribI3uiv"
+
+-- glVertexAttribI3uivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI3uiv'.
+glVertexAttribI3uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI3uivEXT v1 v2 = liftIO $ dyn197 ptr_glVertexAttribI3uivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3uivEXT #-}
+ptr_glVertexAttribI3uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI3uivEXT = unsafePerformIO $ getCommand "glVertexAttribI3uivEXT"
+
+-- glVertexAttribI4bv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI4bv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttribI4bv v1 v2 = liftIO $ dyn864 ptr_glVertexAttribI4bv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4bv #-}
+ptr_glVertexAttribI4bv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttribI4bv = unsafePerformIO $ getCommand "glVertexAttribI4bv"
+
+-- glVertexAttribI4bvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI4bv'.
+glVertexAttribI4bvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttribI4bvEXT v1 v2 = liftIO $ dyn864 ptr_glVertexAttribI4bvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4bvEXT #-}
+ptr_glVertexAttribI4bvEXT :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttribI4bvEXT = unsafePerformIO $ getCommand "glVertexAttribI4bvEXT"
+
+-- glVertexAttribI4i -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI4iv'.
+glVertexAttribI4i
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glVertexAttribI4i v1 v2 v3 v4 v5 = liftIO $ dyn676 ptr_glVertexAttribI4i v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribI4i #-}
+ptr_glVertexAttribI4i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI4i = unsafePerformIO $ getCommand "glVertexAttribI4i"
+
+-- glVertexAttribI4iEXT --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI4ivEXT'. This command is an alias for 'glVertexAttribI4i'.
+glVertexAttribI4iEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glVertexAttribI4iEXT v1 v2 v3 v4 v5 = liftIO $ dyn676 ptr_glVertexAttribI4iEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribI4iEXT #-}
+ptr_glVertexAttribI4iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI4iEXT = unsafePerformIO $ getCommand "glVertexAttribI4iEXT"
+
 -- glVertexAttribI4iv ----------------------------------------------------------
 
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
@@ -131,7 +281,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glVertexAttribI4iv v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI4iv v1 v2
+glVertexAttribI4iv v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI4iv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4iv #-}
 ptr_glVertexAttribI4iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -145,7 +295,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
   -> m ()
-glVertexAttribI4ivEXT v1 v2 = liftIO $ dyn726 ptr_glVertexAttribI4ivEXT v1 v2
+glVertexAttribI4ivEXT v1 v2 = liftIO $ dyn727 ptr_glVertexAttribI4ivEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4ivEXT #-}
 ptr_glVertexAttribI4ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
@@ -159,7 +309,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
   -> m ()
-glVertexAttribI4sv v1 v2 = liftIO $ dyn865 ptr_glVertexAttribI4sv v1 v2
+glVertexAttribI4sv v1 v2 = liftIO $ dyn866 ptr_glVertexAttribI4sv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4sv #-}
 ptr_glVertexAttribI4sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -173,7 +323,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
   -> m ()
-glVertexAttribI4svEXT v1 v2 = liftIO $ dyn865 ptr_glVertexAttribI4svEXT v1 v2
+glVertexAttribI4svEXT v1 v2 = liftIO $ dyn866 ptr_glVertexAttribI4svEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4svEXT #-}
 ptr_glVertexAttribI4svEXT :: FunPtr (GLuint -> Ptr GLshort -> IO ())
@@ -187,7 +337,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
   -> m ()
-glVertexAttribI4ubv v1 v2 = liftIO $ dyn385 ptr_glVertexAttribI4ubv v1 v2
+glVertexAttribI4ubv v1 v2 = liftIO $ dyn386 ptr_glVertexAttribI4ubv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4ubv #-}
 ptr_glVertexAttribI4ubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -201,7 +351,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
   -> m ()
-glVertexAttribI4ubvEXT v1 v2 = liftIO $ dyn385 ptr_glVertexAttribI4ubvEXT v1 v2
+glVertexAttribI4ubvEXT v1 v2 = liftIO $ dyn386 ptr_glVertexAttribI4ubvEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4ubvEXT #-}
 ptr_glVertexAttribI4ubvEXT :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
@@ -218,7 +368,7 @@
   -> GLuint -- ^ @z@.
   -> GLuint -- ^ @w@.
   -> m ()
-glVertexAttribI4ui v1 v2 v3 v4 v5 = liftIO $ dyn895 ptr_glVertexAttribI4ui v1 v2 v3 v4 v5
+glVertexAttribI4ui v1 v2 v3 v4 v5 = liftIO $ dyn896 ptr_glVertexAttribI4ui v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribI4ui #-}
 ptr_glVertexAttribI4ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -235,7 +385,7 @@
   -> GLuint -- ^ @z@.
   -> GLuint -- ^ @w@.
   -> m ()
-glVertexAttribI4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn895 ptr_glVertexAttribI4uiEXT v1 v2 v3 v4 v5
+glVertexAttribI4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn896 ptr_glVertexAttribI4uiEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribI4uiEXT #-}
 ptr_glVertexAttribI4uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
@@ -277,7 +427,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
   -> m ()
-glVertexAttribI4usv v1 v2 = liftIO $ dyn866 ptr_glVertexAttribI4usv v1 v2
+glVertexAttribI4usv v1 v2 = liftIO $ dyn867 ptr_glVertexAttribI4usv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4usv #-}
 ptr_glVertexAttribI4usv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
@@ -291,7 +441,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
   -> m ()
-glVertexAttribI4usvEXT v1 v2 = liftIO $ dyn866 ptr_glVertexAttribI4usvEXT v1 v2
+glVertexAttribI4usvEXT v1 v2 = liftIO $ dyn867 ptr_glVertexAttribI4usvEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribI4usvEXT #-}
 ptr_glVertexAttribI4usvEXT :: FunPtr (GLuint -> Ptr GLushort -> IO ())
@@ -307,7 +457,7 @@
   -> GLenum -- ^ @type@.
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexAttribIFormat v1 v2 v3 v4 = liftIO $ dyn896 ptr_glVertexAttribIFormat v1 v2 v3 v4
+glVertexAttribIFormat v1 v2 v3 v4 = liftIO $ dyn897 ptr_glVertexAttribIFormat v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribIFormat #-}
 ptr_glVertexAttribIFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
@@ -322,7 +472,7 @@
   -> GLenum -- ^ @type@.
   -> GLsizei -- ^ @stride@.
   -> m ()
-glVertexAttribIFormatNV v1 v2 v3 v4 = liftIO $ dyn897 ptr_glVertexAttribIFormatNV v1 v2 v3 v4
+glVertexAttribIFormatNV v1 v2 v3 v4 = liftIO $ dyn898 ptr_glVertexAttribIFormatNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribIFormatNV #-}
 ptr_glVertexAttribIFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
@@ -335,11 +485,11 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
   -> m ()
-glVertexAttribIPointer v1 v2 v3 v4 v5 = liftIO $ dyn898 ptr_glVertexAttribIPointer v1 v2 v3 v4 v5
+glVertexAttribIPointer v1 v2 v3 v4 v5 = liftIO $ dyn899 ptr_glVertexAttribIPointer v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribIPointer #-}
 ptr_glVertexAttribIPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -352,11 +502,11 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
   -> m ()
-glVertexAttribIPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn898 ptr_glVertexAttribIPointerEXT v1 v2 v3 v4 v5
+glVertexAttribIPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn899 ptr_glVertexAttribIPointerEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribIPointerEXT #-}
 ptr_glVertexAttribIPointerEXT :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -370,7 +520,7 @@
   => GLuint -- ^ @index@.
   -> GLdouble -- ^ @x@.
   -> m ()
-glVertexAttribL1d v1 v2 = liftIO $ dyn877 ptr_glVertexAttribL1d v1 v2
+glVertexAttribL1d v1 v2 = liftIO $ dyn878 ptr_glVertexAttribL1d v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1d #-}
 ptr_glVertexAttribL1d :: FunPtr (GLuint -> GLdouble -> IO ())
@@ -384,7 +534,7 @@
   => GLuint -- ^ @index@.
   -> GLdouble -- ^ @x@.
   -> m ()
-glVertexAttribL1dEXT v1 v2 = liftIO $ dyn877 ptr_glVertexAttribL1dEXT v1 v2
+glVertexAttribL1dEXT v1 v2 = liftIO $ dyn878 ptr_glVertexAttribL1dEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1dEXT #-}
 ptr_glVertexAttribL1dEXT :: FunPtr (GLuint -> GLdouble -> IO ())
@@ -398,7 +548,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
   -> m ()
-glVertexAttribL1dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL1dv v1 v2
+glVertexAttribL1dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL1dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1dv #-}
 ptr_glVertexAttribL1dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -412,7 +562,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
   -> m ()
-glVertexAttribL1dvEXT v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL1dvEXT v1 v2
+glVertexAttribL1dvEXT v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL1dvEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1dvEXT #-}
 ptr_glVertexAttribL1dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -425,7 +575,7 @@
   => GLuint -- ^ @index@.
   -> GLint64EXT -- ^ @x@.
   -> m ()
-glVertexAttribL1i64NV v1 v2 = liftIO $ dyn899 ptr_glVertexAttribL1i64NV v1 v2
+glVertexAttribL1i64NV v1 v2 = liftIO $ dyn900 ptr_glVertexAttribL1i64NV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1i64NV #-}
 ptr_glVertexAttribL1i64NV :: FunPtr (GLuint -> GLint64EXT -> IO ())
@@ -438,7 +588,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint64EXT -- ^ @v@ pointing to @1@ element of type @GLint64EXT@.
   -> m ()
-glVertexAttribL1i64vNV v1 v2 = liftIO $ dyn900 ptr_glVertexAttribL1i64vNV v1 v2
+glVertexAttribL1i64vNV v1 v2 = liftIO $ dyn901 ptr_glVertexAttribL1i64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1i64vNV #-}
 ptr_glVertexAttribL1i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
@@ -451,7 +601,7 @@
   => GLuint -- ^ @index@.
   -> GLuint64EXT -- ^ @x@.
   -> m ()
-glVertexAttribL1ui64ARB v1 v2 = liftIO $ dyn901 ptr_glVertexAttribL1ui64ARB v1 v2
+glVertexAttribL1ui64ARB v1 v2 = liftIO $ dyn902 ptr_glVertexAttribL1ui64ARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1ui64ARB #-}
 ptr_glVertexAttribL1ui64ARB :: FunPtr (GLuint -> GLuint64EXT -> IO ())
@@ -464,7 +614,7 @@
   => GLuint -- ^ @index@.
   -> GLuint64EXT -- ^ @x@.
   -> m ()
-glVertexAttribL1ui64NV v1 v2 = liftIO $ dyn901 ptr_glVertexAttribL1ui64NV v1 v2
+glVertexAttribL1ui64NV v1 v2 = liftIO $ dyn902 ptr_glVertexAttribL1ui64NV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1ui64NV #-}
 ptr_glVertexAttribL1ui64NV :: FunPtr (GLuint -> GLuint64EXT -> IO ())
@@ -477,7 +627,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLuint64EXT -- ^ @v@.
   -> m ()
-glVertexAttribL1ui64vARB v1 v2 = liftIO $ dyn902 ptr_glVertexAttribL1ui64vARB v1 v2
+glVertexAttribL1ui64vARB v1 v2 = liftIO $ dyn903 ptr_glVertexAttribL1ui64vARB v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1ui64vARB #-}
 ptr_glVertexAttribL1ui64vARB :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
@@ -490,7 +640,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLuint64EXT -- ^ @v@ pointing to @1@ element of type @GLuint64EXT@.
   -> m ()
-glVertexAttribL1ui64vNV v1 v2 = liftIO $ dyn902 ptr_glVertexAttribL1ui64vNV v1 v2
+glVertexAttribL1ui64vNV v1 v2 = liftIO $ dyn903 ptr_glVertexAttribL1ui64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL1ui64vNV #-}
 ptr_glVertexAttribL1ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
@@ -505,7 +655,7 @@
   -> GLdouble -- ^ @x@.
   -> GLdouble -- ^ @y@.
   -> m ()
-glVertexAttribL2d v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttribL2d v1 v2 v3
+glVertexAttribL2d v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttribL2d v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribL2d #-}
 ptr_glVertexAttribL2d :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
@@ -520,7 +670,7 @@
   -> GLdouble -- ^ @x@.
   -> GLdouble -- ^ @y@.
   -> m ()
-glVertexAttribL2dEXT v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttribL2dEXT v1 v2 v3
+glVertexAttribL2dEXT v1 v2 v3 = liftIO $ dyn224 ptr_glVertexAttribL2dEXT v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribL2dEXT #-}
 ptr_glVertexAttribL2dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
@@ -534,7 +684,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribL2dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL2dv v1 v2
+glVertexAttribL2dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL2dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL2dv #-}
 ptr_glVertexAttribL2dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -548,7 +698,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribL2dvEXT v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL2dvEXT v1 v2
+glVertexAttribL2dvEXT v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL2dvEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL2dvEXT #-}
 ptr_glVertexAttribL2dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -562,7 +712,7 @@
   -> GLint64EXT -- ^ @x@.
   -> GLint64EXT -- ^ @y@.
   -> m ()
-glVertexAttribL2i64NV v1 v2 v3 = liftIO $ dyn903 ptr_glVertexAttribL2i64NV v1 v2 v3
+glVertexAttribL2i64NV v1 v2 v3 = liftIO $ dyn904 ptr_glVertexAttribL2i64NV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribL2i64NV #-}
 ptr_glVertexAttribL2i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ())
@@ -575,7 +725,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint64EXT -- ^ @v@ pointing to @2@ elements of type @GLint64EXT@.
   -> m ()
-glVertexAttribL2i64vNV v1 v2 = liftIO $ dyn900 ptr_glVertexAttribL2i64vNV v1 v2
+glVertexAttribL2i64vNV v1 v2 = liftIO $ dyn901 ptr_glVertexAttribL2i64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL2i64vNV #-}
 ptr_glVertexAttribL2i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
@@ -589,7 +739,7 @@
   -> GLuint64EXT -- ^ @x@.
   -> GLuint64EXT -- ^ @y@.
   -> m ()
-glVertexAttribL2ui64NV v1 v2 v3 = liftIO $ dyn904 ptr_glVertexAttribL2ui64NV v1 v2 v3
+glVertexAttribL2ui64NV v1 v2 v3 = liftIO $ dyn905 ptr_glVertexAttribL2ui64NV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribL2ui64NV #-}
 ptr_glVertexAttribL2ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ())
@@ -602,7 +752,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLuint64EXT -- ^ @v@ pointing to @2@ elements of type @GLuint64EXT@.
   -> m ()
-glVertexAttribL2ui64vNV v1 v2 = liftIO $ dyn902 ptr_glVertexAttribL2ui64vNV v1 v2
+glVertexAttribL2ui64vNV v1 v2 = liftIO $ dyn903 ptr_glVertexAttribL2ui64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL2ui64vNV #-}
 ptr_glVertexAttribL2ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
@@ -618,7 +768,7 @@
   -> GLdouble -- ^ @y@.
   -> GLdouble -- ^ @z@.
   -> m ()
-glVertexAttribL3d v1 v2 v3 v4 = liftIO $ dyn884 ptr_glVertexAttribL3d v1 v2 v3 v4
+glVertexAttribL3d v1 v2 v3 v4 = liftIO $ dyn885 ptr_glVertexAttribL3d v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribL3d #-}
 ptr_glVertexAttribL3d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -634,7 +784,7 @@
   -> GLdouble -- ^ @y@.
   -> GLdouble -- ^ @z@.
   -> m ()
-glVertexAttribL3dEXT v1 v2 v3 v4 = liftIO $ dyn884 ptr_glVertexAttribL3dEXT v1 v2 v3 v4
+glVertexAttribL3dEXT v1 v2 v3 v4 = liftIO $ dyn885 ptr_glVertexAttribL3dEXT v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribL3dEXT #-}
 ptr_glVertexAttribL3dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -648,7 +798,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribL3dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL3dv v1 v2
+glVertexAttribL3dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL3dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL3dv #-}
 ptr_glVertexAttribL3dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -662,7 +812,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribL3dvEXT v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL3dvEXT v1 v2
+glVertexAttribL3dvEXT v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL3dvEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL3dvEXT #-}
 ptr_glVertexAttribL3dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -677,7 +827,7 @@
   -> GLint64EXT -- ^ @y@.
   -> GLint64EXT -- ^ @z@.
   -> m ()
-glVertexAttribL3i64NV v1 v2 v3 v4 = liftIO $ dyn905 ptr_glVertexAttribL3i64NV v1 v2 v3 v4
+glVertexAttribL3i64NV v1 v2 v3 v4 = liftIO $ dyn906 ptr_glVertexAttribL3i64NV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribL3i64NV #-}
 ptr_glVertexAttribL3i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
@@ -690,7 +840,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint64EXT -- ^ @v@ pointing to @3@ elements of type @GLint64EXT@.
   -> m ()
-glVertexAttribL3i64vNV v1 v2 = liftIO $ dyn900 ptr_glVertexAttribL3i64vNV v1 v2
+glVertexAttribL3i64vNV v1 v2 = liftIO $ dyn901 ptr_glVertexAttribL3i64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL3i64vNV #-}
 ptr_glVertexAttribL3i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
@@ -705,7 +855,7 @@
   -> GLuint64EXT -- ^ @y@.
   -> GLuint64EXT -- ^ @z@.
   -> m ()
-glVertexAttribL3ui64NV v1 v2 v3 v4 = liftIO $ dyn906 ptr_glVertexAttribL3ui64NV v1 v2 v3 v4
+glVertexAttribL3ui64NV v1 v2 v3 v4 = liftIO $ dyn907 ptr_glVertexAttribL3ui64NV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribL3ui64NV #-}
 ptr_glVertexAttribL3ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
@@ -718,7 +868,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLuint64EXT -- ^ @v@ pointing to @3@ elements of type @GLuint64EXT@.
   -> m ()
-glVertexAttribL3ui64vNV v1 v2 = liftIO $ dyn902 ptr_glVertexAttribL3ui64vNV v1 v2
+glVertexAttribL3ui64vNV v1 v2 = liftIO $ dyn903 ptr_glVertexAttribL3ui64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL3ui64vNV #-}
 ptr_glVertexAttribL3ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
@@ -735,7 +885,7 @@
   -> GLdouble -- ^ @z@.
   -> GLdouble -- ^ @w@.
   -> m ()
-glVertexAttribL4d v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttribL4d v1 v2 v3 v4 v5
+glVertexAttribL4d v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttribL4d v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribL4d #-}
 ptr_glVertexAttribL4d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -752,7 +902,7 @@
   -> GLdouble -- ^ @z@.
   -> GLdouble -- ^ @w@.
   -> m ()
-glVertexAttribL4dEXT v1 v2 v3 v4 v5 = liftIO $ dyn888 ptr_glVertexAttribL4dEXT v1 v2 v3 v4 v5
+glVertexAttribL4dEXT v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glVertexAttribL4dEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribL4dEXT #-}
 ptr_glVertexAttribL4dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
@@ -766,7 +916,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribL4dv v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL4dv v1 v2
+glVertexAttribL4dv v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL4dv v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL4dv #-}
 ptr_glVertexAttribL4dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -780,7 +930,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribL4dvEXT v1 v2 = liftIO $ dyn864 ptr_glVertexAttribL4dvEXT v1 v2
+glVertexAttribL4dvEXT v1 v2 = liftIO $ dyn865 ptr_glVertexAttribL4dvEXT v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL4dvEXT #-}
 ptr_glVertexAttribL4dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
@@ -796,7 +946,7 @@
   -> GLint64EXT -- ^ @z@.
   -> GLint64EXT -- ^ @w@.
   -> m ()
-glVertexAttribL4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn907 ptr_glVertexAttribL4i64NV v1 v2 v3 v4 v5
+glVertexAttribL4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn908 ptr_glVertexAttribL4i64NV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribL4i64NV #-}
 ptr_glVertexAttribL4i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
@@ -809,7 +959,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLint64EXT -- ^ @v@ pointing to @4@ elements of type @GLint64EXT@.
   -> m ()
-glVertexAttribL4i64vNV v1 v2 = liftIO $ dyn900 ptr_glVertexAttribL4i64vNV v1 v2
+glVertexAttribL4i64vNV v1 v2 = liftIO $ dyn901 ptr_glVertexAttribL4i64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL4i64vNV #-}
 ptr_glVertexAttribL4i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
@@ -825,7 +975,7 @@
   -> GLuint64EXT -- ^ @z@.
   -> GLuint64EXT -- ^ @w@.
   -> m ()
-glVertexAttribL4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn908 ptr_glVertexAttribL4ui64NV v1 v2 v3 v4 v5
+glVertexAttribL4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn909 ptr_glVertexAttribL4ui64NV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribL4ui64NV #-}
 ptr_glVertexAttribL4ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
@@ -838,7 +988,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLuint64EXT -- ^ @v@ pointing to @4@ elements of type @GLuint64EXT@.
   -> m ()
-glVertexAttribL4ui64vNV v1 v2 = liftIO $ dyn902 ptr_glVertexAttribL4ui64vNV v1 v2
+glVertexAttribL4ui64vNV v1 v2 = liftIO $ dyn903 ptr_glVertexAttribL4ui64vNV v1 v2
 
 {-# NOINLINE ptr_glVertexAttribL4ui64vNV #-}
 ptr_glVertexAttribL4ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
@@ -851,10 +1001,10 @@
   :: MonadIO m
   => GLuint -- ^ @attribindex@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribType](Graphics-GL-Groups.html#VertexAttribType).
   -> GLuint -- ^ @relativeoffset@.
   -> m ()
-glVertexAttribLFormat v1 v2 v3 v4 = liftIO $ dyn896 ptr_glVertexAttribLFormat v1 v2 v3 v4
+glVertexAttribLFormat v1 v2 v3 v4 = liftIO $ dyn897 ptr_glVertexAttribLFormat v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribLFormat #-}
 ptr_glVertexAttribLFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
@@ -866,10 +1016,10 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribType](Graphics-GL-Groups.html#VertexAttribType).
   -> GLsizei -- ^ @stride@.
   -> m ()
-glVertexAttribLFormatNV v1 v2 v3 v4 = liftIO $ dyn897 ptr_glVertexAttribLFormatNV v1 v2 v3 v4
+glVertexAttribLFormatNV v1 v2 v3 v4 = liftIO $ dyn898 ptr_glVertexAttribLFormatNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribLFormatNV #-}
 ptr_glVertexAttribLFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
@@ -882,11 +1032,11 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
   -> m ()
-glVertexAttribLPointer v1 v2 v3 v4 v5 = liftIO $ dyn898 ptr_glVertexAttribLPointer v1 v2 v3 v4 v5
+glVertexAttribLPointer v1 v2 v3 v4 v5 = liftIO $ dyn899 ptr_glVertexAttribLPointer v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribLPointer #-}
 ptr_glVertexAttribLPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -899,11 +1049,11 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
   -> m ()
-glVertexAttribLPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn898 ptr_glVertexAttribLPointerEXT v1 v2 v3 v4 v5
+glVertexAttribLPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn899 ptr_glVertexAttribLPointerEXT v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribLPointerEXT #-}
 ptr_glVertexAttribLPointerEXT :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -915,11 +1065,11 @@
 glVertexAttribP1ui
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLuint -- ^ @value@.
   -> m ()
-glVertexAttribP1ui v1 v2 v3 v4 = liftIO $ dyn909 ptr_glVertexAttribP1ui v1 v2 v3 v4
+glVertexAttribP1ui v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP1ui v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP1ui #-}
 ptr_glVertexAttribP1ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
@@ -930,11 +1080,11 @@
 glVertexAttribP1uiv
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glVertexAttribP1uiv v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP1uiv v1 v2 v3 v4
+glVertexAttribP1uiv v1 v2 v3 v4 = liftIO $ dyn911 ptr_glVertexAttribP1uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP1uiv #-}
 ptr_glVertexAttribP1uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
@@ -946,11 +1096,11 @@
 glVertexAttribP2ui
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLuint -- ^ @value@.
   -> m ()
-glVertexAttribP2ui v1 v2 v3 v4 = liftIO $ dyn909 ptr_glVertexAttribP2ui v1 v2 v3 v4
+glVertexAttribP2ui v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP2ui v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP2ui #-}
 ptr_glVertexAttribP2ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
@@ -961,11 +1111,11 @@
 glVertexAttribP2uiv
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glVertexAttribP2uiv v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP2uiv v1 v2 v3 v4
+glVertexAttribP2uiv v1 v2 v3 v4 = liftIO $ dyn911 ptr_glVertexAttribP2uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP2uiv #-}
 ptr_glVertexAttribP2uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
@@ -977,11 +1127,11 @@
 glVertexAttribP3ui
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLuint -- ^ @value@.
   -> m ()
-glVertexAttribP3ui v1 v2 v3 v4 = liftIO $ dyn909 ptr_glVertexAttribP3ui v1 v2 v3 v4
+glVertexAttribP3ui v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP3ui v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP3ui #-}
 ptr_glVertexAttribP3ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
@@ -992,11 +1142,11 @@
 glVertexAttribP3uiv
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glVertexAttribP3uiv v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP3uiv v1 v2 v3 v4
+glVertexAttribP3uiv v1 v2 v3 v4 = liftIO $ dyn911 ptr_glVertexAttribP3uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP3uiv #-}
 ptr_glVertexAttribP3uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
@@ -1008,11 +1158,11 @@
 glVertexAttribP4ui
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLuint -- ^ @value@.
   -> m ()
-glVertexAttribP4ui v1 v2 v3 v4 = liftIO $ dyn909 ptr_glVertexAttribP4ui v1 v2 v3 v4
+glVertexAttribP4ui v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP4ui v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP4ui #-}
 ptr_glVertexAttribP4ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
@@ -1023,11 +1173,11 @@
 glVertexAttribP4uiv
   :: MonadIO m
   => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
   -> m ()
-glVertexAttribP4uiv v1 v2 v3 v4 = liftIO $ dyn910 ptr_glVertexAttribP4uiv v1 v2 v3 v4
+glVertexAttribP4uiv v1 v2 v3 v4 = liftIO $ dyn911 ptr_glVertexAttribP4uiv v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVertexAttribP4uiv #-}
 ptr_glVertexAttribP4uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
@@ -1041,7 +1191,7 @@
   -> GLenum -- ^ @pname@.
   -> GLint -- ^ @param@.
   -> m ()
-glVertexAttribParameteriAMD v1 v2 v3 = liftIO $ dyn481 ptr_glVertexAttribParameteriAMD v1 v2 v3
+glVertexAttribParameteriAMD v1 v2 v3 = liftIO $ dyn482 ptr_glVertexAttribParameteriAMD v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribParameteriAMD #-}
 ptr_glVertexAttribParameteriAMD :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
@@ -1054,12 +1204,12 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
   -> m ()
-glVertexAttribPointer v1 v2 v3 v4 v5 v6 = liftIO $ dyn911 ptr_glVertexAttribPointer v1 v2 v3 v4 v5 v6
+glVertexAttribPointer v1 v2 v3 v4 v5 v6 = liftIO $ dyn912 ptr_glVertexAttribPointer v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexAttribPointer #-}
 ptr_glVertexAttribPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
@@ -1072,12 +1222,12 @@
   :: MonadIO m
   => GLuint -- ^ @index@.
   -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLenum -- ^ @type@ of type [VertexAttribPointerType](Graphics-GL-Groups.html#VertexAttribPointerType).
   -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
   -> m ()
-glVertexAttribPointerARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn911 ptr_glVertexAttribPointerARB v1 v2 v3 v4 v5 v6
+glVertexAttribPointerARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn912 ptr_glVertexAttribPointerARB v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glVertexAttribPointerARB #-}
 ptr_glVertexAttribPointerARB :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
@@ -1093,7 +1243,7 @@
   -> GLsizei -- ^ @stride@.
   -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(fsize,type,stride)@ elements of type @a@.
   -> m ()
-glVertexAttribPointerNV v1 v2 v3 v4 v5 = liftIO $ dyn898 ptr_glVertexAttribPointerNV v1 v2 v3 v4 v5
+glVertexAttribPointerNV v1 v2 v3 v4 v5 = liftIO $ dyn899 ptr_glVertexAttribPointerNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexAttribPointerNV #-}
 ptr_glVertexAttribPointerNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
@@ -1107,7 +1257,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @v@ pointing to @count@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribs1dvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs1dvNV v1 v2 v3
+glVertexAttribs1dvNV v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttribs1dvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs1dvNV #-}
 ptr_glVertexAttribs1dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1121,7 +1271,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @count@ elements of type @GLfloat@.
   -> m ()
-glVertexAttribs1fvNV v1 v2 v3 = liftIO $ dyn221 ptr_glVertexAttribs1fvNV v1 v2 v3
+glVertexAttribs1fvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs1fvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs1fvNV #-}
 ptr_glVertexAttribs1fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1135,7 +1285,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
   -> m ()
-glVertexAttribs1hvNV v1 v2 v3 = liftIO $ dyn912 ptr_glVertexAttribs1hvNV v1 v2 v3
+glVertexAttribs1hvNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs1hvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs1hvNV #-}
 ptr_glVertexAttribs1hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
@@ -1149,7 +1299,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLshort -- ^ @v@ pointing to @count@ elements of type @GLshort@.
   -> m ()
-glVertexAttribs1svNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs1svNV v1 v2 v3
+glVertexAttribs1svNV v1 v2 v3 = liftIO $ dyn914 ptr_glVertexAttribs1svNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs1svNV #-}
 ptr_glVertexAttribs1svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
@@ -1163,7 +1313,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @v@ pointing to @count*2@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribs2dvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs2dvNV v1 v2 v3
+glVertexAttribs2dvNV v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttribs2dvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs2dvNV #-}
 ptr_glVertexAttribs2dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1177,7 +1327,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @count*2@ elements of type @GLfloat@.
   -> m ()
-glVertexAttribs2fvNV v1 v2 v3 = liftIO $ dyn221 ptr_glVertexAttribs2fvNV v1 v2 v3
+glVertexAttribs2fvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs2fvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs2fvNV #-}
 ptr_glVertexAttribs2fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1191,7 +1341,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
   -> m ()
-glVertexAttribs2hvNV v1 v2 v3 = liftIO $ dyn912 ptr_glVertexAttribs2hvNV v1 v2 v3
+glVertexAttribs2hvNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs2hvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs2hvNV #-}
 ptr_glVertexAttribs2hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
@@ -1205,7 +1355,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLshort -- ^ @v@ pointing to @count*2@ elements of type @GLshort@.
   -> m ()
-glVertexAttribs2svNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs2svNV v1 v2 v3
+glVertexAttribs2svNV v1 v2 v3 = liftIO $ dyn914 ptr_glVertexAttribs2svNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs2svNV #-}
 ptr_glVertexAttribs2svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
@@ -1219,7 +1369,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @v@ pointing to @count*3@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribs3dvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs3dvNV v1 v2 v3
+glVertexAttribs3dvNV v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttribs3dvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs3dvNV #-}
 ptr_glVertexAttribs3dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1233,7 +1383,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @count*3@ elements of type @GLfloat@.
   -> m ()
-glVertexAttribs3fvNV v1 v2 v3 = liftIO $ dyn221 ptr_glVertexAttribs3fvNV v1 v2 v3
+glVertexAttribs3fvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs3fvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs3fvNV #-}
 ptr_glVertexAttribs3fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1247,7 +1397,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
   -> m ()
-glVertexAttribs3hvNV v1 v2 v3 = liftIO $ dyn912 ptr_glVertexAttribs3hvNV v1 v2 v3
+glVertexAttribs3hvNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs3hvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs3hvNV #-}
 ptr_glVertexAttribs3hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
@@ -1261,7 +1411,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLshort -- ^ @v@ pointing to @count*3@ elements of type @GLshort@.
   -> m ()
-glVertexAttribs3svNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs3svNV v1 v2 v3
+glVertexAttribs3svNV v1 v2 v3 = liftIO $ dyn914 ptr_glVertexAttribs3svNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs3svNV #-}
 ptr_glVertexAttribs3svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
@@ -1275,7 +1425,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLdouble -- ^ @v@ pointing to @count*4@ elements of type @GLdouble@.
   -> m ()
-glVertexAttribs4dvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs4dvNV v1 v2 v3
+glVertexAttribs4dvNV v1 v2 v3 = liftIO $ dyn223 ptr_glVertexAttribs4dvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs4dvNV #-}
 ptr_glVertexAttribs4dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
@@ -1289,7 +1439,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @count*4@ elements of type @GLfloat@.
   -> m ()
-glVertexAttribs4fvNV v1 v2 v3 = liftIO $ dyn221 ptr_glVertexAttribs4fvNV v1 v2 v3
+glVertexAttribs4fvNV v1 v2 v3 = liftIO $ dyn222 ptr_glVertexAttribs4fvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs4fvNV #-}
 ptr_glVertexAttribs4fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -1303,7 +1453,7 @@
   -> GLsizei -- ^ @n@.
   -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
   -> m ()
-glVertexAttribs4hvNV v1 v2 v3 = liftIO $ dyn912 ptr_glVertexAttribs4hvNV v1 v2 v3
+glVertexAttribs4hvNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs4hvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs4hvNV #-}
 ptr_glVertexAttribs4hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
@@ -1317,7 +1467,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLshort -- ^ @v@ pointing to @count*4@ elements of type @GLshort@.
   -> m ()
-glVertexAttribs4svNV v1 v2 v3 = liftIO $ dyn913 ptr_glVertexAttribs4svNV v1 v2 v3
+glVertexAttribs4svNV v1 v2 v3 = liftIO $ dyn914 ptr_glVertexAttribs4svNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs4svNV #-}
 ptr_glVertexAttribs4svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
@@ -1331,7 +1481,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLubyte -- ^ @v@ pointing to @count*4@ elements of type @ColorUB@.
   -> m ()
-glVertexAttribs4ubvNV v1 v2 v3 = liftIO $ dyn914 ptr_glVertexAttribs4ubvNV v1 v2 v3
+glVertexAttribs4ubvNV v1 v2 v3 = liftIO $ dyn915 ptr_glVertexAttribs4ubvNV v1 v2 v3
 
 {-# NOINLINE ptr_glVertexAttribs4ubvNV #-}
 ptr_glVertexAttribs4ubvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
@@ -1394,7 +1544,7 @@
 glVertexFormatNV
   :: MonadIO m
   => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
   -> GLsizei -- ^ @stride@.
   -> m ()
 glVertexFormatNV v1 v2 v3 = liftIO $ dyn122 ptr_glVertexFormatNV v1 v2 v3
@@ -1407,7 +1557,7 @@
 
 glVertexP2ui
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
   -> GLuint -- ^ @value@.
   -> m ()
 glVertexP2ui v1 v2 = liftIO $ dyn17 ptr_glVertexP2ui v1 v2
@@ -1420,7 +1570,7 @@
 
 glVertexP2uiv
   :: MonadIO m
-  => GLenum -- ^ @type@.
+  => GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
   -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
   -> m ()
 glVertexP2uiv v1 v2 = liftIO $ dyn128 ptr_glVertexP2uiv v1 v2
@@ -1428,144 +1578,4 @@
 {-# NOINLINE ptr_glVertexP2uiv #-}
 ptr_glVertexP2uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
 ptr_glVertexP2uiv = unsafePerformIO $ getCommand "glVertexP2uiv"
-
--- glVertexP3ui ----------------------------------------------------------------
-
-glVertexP3ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexP3ui v1 v2 = liftIO $ dyn17 ptr_glVertexP3ui v1 v2
-
-{-# NOINLINE ptr_glVertexP3ui #-}
-ptr_glVertexP3ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glVertexP3ui = unsafePerformIO $ getCommand "glVertexP3ui"
-
--- glVertexP3uiv ---------------------------------------------------------------
-
-glVertexP3uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexP3uiv v1 v2 = liftIO $ dyn128 ptr_glVertexP3uiv v1 v2
-
-{-# NOINLINE ptr_glVertexP3uiv #-}
-ptr_glVertexP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glVertexP3uiv = unsafePerformIO $ getCommand "glVertexP3uiv"
-
--- glVertexP4ui ----------------------------------------------------------------
-
-glVertexP4ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexP4ui v1 v2 = liftIO $ dyn17 ptr_glVertexP4ui v1 v2
-
-{-# NOINLINE ptr_glVertexP4ui #-}
-ptr_glVertexP4ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glVertexP4ui = unsafePerformIO $ getCommand "glVertexP4ui"
-
--- glVertexP4uiv ---------------------------------------------------------------
-
-glVertexP4uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexP4uiv v1 v2 = liftIO $ dyn128 ptr_glVertexP4uiv v1 v2
-
-{-# NOINLINE ptr_glVertexP4uiv #-}
-ptr_glVertexP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glVertexP4uiv = unsafePerformIO $ getCommand "glVertexP4uiv"
-
--- glVertexPointer -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexPointer.xml OpenGL 2.x>.
-glVertexPointer
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glVertexPointer v1 v2 v3 v4 = liftIO $ dyn129 ptr_glVertexPointer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexPointer #-}
-ptr_glVertexPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexPointer = unsafePerformIO $ getCommand "glVertexPointer"
-
--- glVertexPointerEXT ----------------------------------------------------------
-
-glVertexPointerEXT
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
-  -> m ()
-glVertexPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn130 ptr_glVertexPointerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexPointerEXT #-}
-ptr_glVertexPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexPointerEXT = unsafePerformIO $ getCommand "glVertexPointerEXT"
-
--- glVertexPointerListIBM ------------------------------------------------------
-
-glVertexPointerListIBM
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glVertexPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn131 ptr_glVertexPointerListIBM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexPointerListIBM #-}
-ptr_glVertexPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glVertexPointerListIBM = unsafePerformIO $ getCommand "glVertexPointerListIBM"
-
--- glVertexPointervINTEL -------------------------------------------------------
-
-glVertexPointervINTEL
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
-  -> m ()
-glVertexPointervINTEL v1 v2 v3 = liftIO $ dyn132 ptr_glVertexPointervINTEL v1 v2 v3
-
-{-# NOINLINE ptr_glVertexPointervINTEL #-}
-ptr_glVertexPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glVertexPointervINTEL = unsafePerformIO $ getCommand "glVertexPointervINTEL"
-
--- glVertexStream1dATI ---------------------------------------------------------
-
-glVertexStream1dATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glVertexStream1dATI v1 v2 = liftIO $ dyn558 ptr_glVertexStream1dATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1dATI #-}
-ptr_glVertexStream1dATI :: FunPtr (GLenum -> GLdouble -> IO ())
-ptr_glVertexStream1dATI = unsafePerformIO $ getCommand "glVertexStream1dATI"
-
--- glVertexStream1dvATI --------------------------------------------------------
-
-glVertexStream1dvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLdouble -- ^ @coords@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glVertexStream1dvATI v1 v2 = liftIO $ dyn96 ptr_glVertexStream1dvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1dvATI #-}
-ptr_glVertexStream1dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glVertexStream1dvATI = unsafePerformIO $ getCommand "glVertexStream1dvATI"
 
diff --git a/src/Graphics/GL/Functions/F32.hs b/src/Graphics/GL/Functions/F32.hs
--- a/src/Graphics/GL/Functions/F32.hs
+++ b/src/Graphics/GL/Functions/F32.hs
@@ -15,6 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F32 (
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glVertexPointerEXT,
+  glVertexPointerListIBM,
+  glVertexPointervINTEL,
+  glVertexStream1dATI,
+  glVertexStream1dvATI,
   glVertexStream1fATI,
   glVertexStream1fvATI,
   glVertexStream1iATI,
@@ -104,17 +114,7 @@
   glWindowPos2sMESA,
   glWindowPos2sv,
   glWindowPos2svARB,
-  glWindowPos2svMESA,
-  glWindowPos3d,
-  glWindowPos3dARB,
-  glWindowPos3dMESA,
-  glWindowPos3dv,
-  glWindowPos3dvARB,
-  glWindowPos3dvMESA,
-  glWindowPos3f,
-  glWindowPos3fARB,
-  glWindowPos3fMESA,
-  glWindowPos3fv
+  glWindowPos2svMESA
 ) where
 
 import Control.Monad.IO.Class ( MonadIO(..) )
@@ -123,6 +123,146 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glVertexP3ui ----------------------------------------------------------------
+
+glVertexP3ui
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexP3ui v1 v2 = liftIO $ dyn17 ptr_glVertexP3ui v1 v2
+
+{-# NOINLINE ptr_glVertexP3ui #-}
+ptr_glVertexP3ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glVertexP3ui = unsafePerformIO $ getCommand "glVertexP3ui"
+
+-- glVertexP3uiv ---------------------------------------------------------------
+
+glVertexP3uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexP3uiv v1 v2 = liftIO $ dyn128 ptr_glVertexP3uiv v1 v2
+
+{-# NOINLINE ptr_glVertexP3uiv #-}
+ptr_glVertexP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glVertexP3uiv = unsafePerformIO $ getCommand "glVertexP3uiv"
+
+-- glVertexP4ui ----------------------------------------------------------------
+
+glVertexP4ui
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexP4ui v1 v2 = liftIO $ dyn17 ptr_glVertexP4ui v1 v2
+
+{-# NOINLINE ptr_glVertexP4ui #-}
+ptr_glVertexP4ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glVertexP4ui = unsafePerformIO $ getCommand "glVertexP4ui"
+
+-- glVertexP4uiv ---------------------------------------------------------------
+
+glVertexP4uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexP4uiv v1 v2 = liftIO $ dyn128 ptr_glVertexP4uiv v1 v2
+
+{-# NOINLINE ptr_glVertexP4uiv #-}
+ptr_glVertexP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glVertexP4uiv = unsafePerformIO $ getCommand "glVertexP4uiv"
+
+-- glVertexPointer -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexPointer.xml OpenGL 2.x>.
+glVertexPointer
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glVertexPointer v1 v2 v3 v4 = liftIO $ dyn129 ptr_glVertexPointer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexPointer #-}
+ptr_glVertexPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexPointer = unsafePerformIO $ getCommand "glVertexPointer"
+
+-- glVertexPointerEXT ----------------------------------------------------------
+
+glVertexPointerEXT
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
+  -> m ()
+glVertexPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn130 ptr_glVertexPointerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexPointerEXT #-}
+ptr_glVertexPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexPointerEXT = unsafePerformIO $ getCommand "glVertexPointerEXT"
+
+-- glVertexPointerListIBM ------------------------------------------------------
+
+glVertexPointerListIBM
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glVertexPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn131 ptr_glVertexPointerListIBM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexPointerListIBM #-}
+ptr_glVertexPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glVertexPointerListIBM = unsafePerformIO $ getCommand "glVertexPointerListIBM"
+
+-- glVertexPointervINTEL -------------------------------------------------------
+
+glVertexPointervINTEL
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
+  -> m ()
+glVertexPointervINTEL v1 v2 v3 = liftIO $ dyn132 ptr_glVertexPointervINTEL v1 v2 v3
+
+{-# NOINLINE ptr_glVertexPointervINTEL #-}
+ptr_glVertexPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glVertexPointervINTEL = unsafePerformIO $ getCommand "glVertexPointervINTEL"
+
+-- glVertexStream1dATI ---------------------------------------------------------
+
+glVertexStream1dATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glVertexStream1dATI v1 v2 = liftIO $ dyn558 ptr_glVertexStream1dATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1dATI #-}
+ptr_glVertexStream1dATI :: FunPtr (GLenum -> GLdouble -> IO ())
+ptr_glVertexStream1dATI = unsafePerformIO $ getCommand "glVertexStream1dATI"
+
+-- glVertexStream1dvATI --------------------------------------------------------
+
+glVertexStream1dvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLdouble -- ^ @coords@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glVertexStream1dvATI v1 v2 = liftIO $ dyn96 ptr_glVertexStream1dvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1dvATI #-}
+ptr_glVertexStream1dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glVertexStream1dvATI = unsafePerformIO $ getCommand "glVertexStream1dvATI"
+
 -- glVertexStream1fATI ---------------------------------------------------------
 
 glVertexStream1fATI
@@ -263,7 +403,7 @@
   -> GLint -- ^ @x@.
   -> GLint -- ^ @y@.
   -> m ()
-glVertexStream2iATI v1 v2 v3 = liftIO $ dyn268 ptr_glVertexStream2iATI v1 v2 v3
+glVertexStream2iATI v1 v2 v3 = liftIO $ dyn269 ptr_glVertexStream2iATI v1 v2 v3
 
 {-# NOINLINE ptr_glVertexStream2iATI #-}
 ptr_glVertexStream2iATI :: FunPtr (GLenum -> GLint -> GLint -> IO ())
@@ -489,7 +629,7 @@
   -> GLint -- ^ @z@.
   -> GLint -- ^ @w@.
   -> m ()
-glVertexStream4iATI v1 v2 v3 v4 v5 = liftIO $ dyn269 ptr_glVertexStream4iATI v1 v2 v3 v4 v5
+glVertexStream4iATI v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glVertexStream4iATI v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glVertexStream4iATI #-}
 ptr_glVertexStream4iATI :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
@@ -584,7 +724,7 @@
   :: MonadIO m
   => GLhalfNV -- ^ @weight@ of type @Half16NV@.
   -> m ()
-glVertexWeighthNV v1 = liftIO $ dyn285 ptr_glVertexWeighthNV v1
+glVertexWeighthNV v1 = liftIO $ dyn286 ptr_glVertexWeighthNV v1
 
 {-# NOINLINE ptr_glVertexWeighthNV #-}
 ptr_glVertexWeighthNV :: FunPtr (GLhalfNV -> IO ())
@@ -610,7 +750,7 @@
   -> Ptr GLuint -- ^ @sequence_num@.
   -> Ptr GLuint64EXT -- ^ @capture_time@.
   -> m GLenum
-glVideoCaptureNV v1 v2 v3 = liftIO $ dyn915 ptr_glVideoCaptureNV v1 v2 v3
+glVideoCaptureNV v1 v2 v3 = liftIO $ dyn916 ptr_glVideoCaptureNV v1 v2 v3
 
 {-# NOINLINE ptr_glVideoCaptureNV #-}
 ptr_glVideoCaptureNV :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
@@ -625,7 +765,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
   -> m ()
-glVideoCaptureStreamParameterdvNV v1 v2 v3 v4 = liftIO $ dyn455 ptr_glVideoCaptureStreamParameterdvNV v1 v2 v3 v4
+glVideoCaptureStreamParameterdvNV v1 v2 v3 v4 = liftIO $ dyn456 ptr_glVideoCaptureStreamParameterdvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVideoCaptureStreamParameterdvNV #-}
 ptr_glVideoCaptureStreamParameterdvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
@@ -640,7 +780,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
   -> m ()
-glVideoCaptureStreamParameterfvNV v1 v2 v3 v4 = liftIO $ dyn456 ptr_glVideoCaptureStreamParameterfvNV v1 v2 v3 v4
+glVideoCaptureStreamParameterfvNV v1 v2 v3 v4 = liftIO $ dyn457 ptr_glVideoCaptureStreamParameterfvNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVideoCaptureStreamParameterfvNV #-}
 ptr_glVideoCaptureStreamParameterfvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
@@ -655,7 +795,7 @@
   -> GLenum -- ^ @pname@.
   -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
   -> m ()
-glVideoCaptureStreamParameterivNV v1 v2 v3 v4 = liftIO $ dyn307 ptr_glVideoCaptureStreamParameterivNV v1 v2 v3 v4
+glVideoCaptureStreamParameterivNV v1 v2 v3 v4 = liftIO $ dyn308 ptr_glVideoCaptureStreamParameterivNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glVideoCaptureStreamParameterivNV #-}
 ptr_glVideoCaptureStreamParameterivNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
@@ -671,7 +811,7 @@
   -> GLsizei -- ^ @width@.
   -> GLsizei -- ^ @height@.
   -> m ()
-glViewport v1 v2 v3 v4 = liftIO $ dyn723 ptr_glViewport v1 v2 v3 v4
+glViewport v1 v2 v3 v4 = liftIO $ dyn724 ptr_glViewport v1 v2 v3 v4
 
 {-# NOINLINE ptr_glViewport #-}
 ptr_glViewport :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
@@ -686,7 +826,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
   -> m ()
-glViewportArrayv v1 v2 v3 = liftIO $ dyn221 ptr_glViewportArrayv v1 v2 v3
+glViewportArrayv v1 v2 v3 = liftIO $ dyn222 ptr_glViewportArrayv v1 v2 v3
 
 {-# NOINLINE ptr_glViewportArrayv #-}
 ptr_glViewportArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -701,7 +841,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
   -> m ()
-glViewportArrayvNV v1 v2 v3 = liftIO $ dyn221 ptr_glViewportArrayvNV v1 v2 v3
+glViewportArrayvNV v1 v2 v3 = liftIO $ dyn222 ptr_glViewportArrayvNV v1 v2 v3
 
 {-# NOINLINE ptr_glViewportArrayvNV #-}
 ptr_glViewportArrayvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -716,7 +856,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
   -> m ()
-glViewportArrayvOES v1 v2 v3 = liftIO $ dyn221 ptr_glViewportArrayvOES v1 v2 v3
+glViewportArrayvOES v1 v2 v3 = liftIO $ dyn222 ptr_glViewportArrayvOES v1 v2 v3
 
 {-# NOINLINE ptr_glViewportArrayvOES #-}
 ptr_glViewportArrayvOES :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
@@ -733,7 +873,7 @@
   -> GLfloat -- ^ @w@.
   -> GLfloat -- ^ @h@.
   -> m ()
-glViewportIndexedf v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glViewportIndexedf v1 v2 v3 v4 v5
+glViewportIndexedf v1 v2 v3 v4 v5 = liftIO $ dyn890 ptr_glViewportIndexedf v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glViewportIndexedf #-}
 ptr_glViewportIndexedf :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -750,7 +890,7 @@
   -> GLfloat -- ^ @w@.
   -> GLfloat -- ^ @h@.
   -> m ()
-glViewportIndexedfNV v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glViewportIndexedfNV v1 v2 v3 v4 v5
+glViewportIndexedfNV v1 v2 v3 v4 v5 = liftIO $ dyn890 ptr_glViewportIndexedfNV v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glViewportIndexedfNV #-}
 ptr_glViewportIndexedfNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -767,7 +907,7 @@
   -> GLfloat -- ^ @w@.
   -> GLfloat -- ^ @h@.
   -> m ()
-glViewportIndexedfOES v1 v2 v3 v4 v5 = liftIO $ dyn889 ptr_glViewportIndexedfOES v1 v2 v3 v4 v5
+glViewportIndexedfOES v1 v2 v3 v4 v5 = liftIO $ dyn890 ptr_glViewportIndexedfOES v1 v2 v3 v4 v5
 
 {-# NOINLINE ptr_glViewportIndexedfOES #-}
 ptr_glViewportIndexedfOES :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
@@ -781,7 +921,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glViewportIndexedfv v1 v2 = liftIO $ dyn386 ptr_glViewportIndexedfv v1 v2
+glViewportIndexedfv v1 v2 = liftIO $ dyn387 ptr_glViewportIndexedfv v1 v2
 
 {-# NOINLINE ptr_glViewportIndexedfv #-}
 ptr_glViewportIndexedfv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -795,7 +935,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glViewportIndexedfvNV v1 v2 = liftIO $ dyn386 ptr_glViewportIndexedfvNV v1 v2
+glViewportIndexedfvNV v1 v2 = liftIO $ dyn387 ptr_glViewportIndexedfvNV v1 v2
 
 {-# NOINLINE ptr_glViewportIndexedfvNV #-}
 ptr_glViewportIndexedfvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -809,7 +949,7 @@
   => GLuint -- ^ @index@.
   -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
   -> m ()
-glViewportIndexedfvOES v1 v2 = liftIO $ dyn386 ptr_glViewportIndexedfvOES v1 v2
+glViewportIndexedfvOES v1 v2 = liftIO $ dyn387 ptr_glViewportIndexedfvOES v1 v2
 
 {-# NOINLINE ptr_glViewportIndexedfvOES #-}
 ptr_glViewportIndexedfvOES :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
@@ -823,7 +963,7 @@
   -> GLfloat -- ^ @xcoeff@.
   -> GLfloat -- ^ @ycoeff@.
   -> m ()
-glViewportPositionWScaleNV v1 v2 v3 = liftIO $ dyn224 ptr_glViewportPositionWScaleNV v1 v2 v3
+glViewportPositionWScaleNV v1 v2 v3 = liftIO $ dyn225 ptr_glViewportPositionWScaleNV v1 v2 v3
 
 {-# NOINLINE ptr_glViewportPositionWScaleNV #-}
 ptr_glViewportPositionWScaleNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
@@ -856,7 +996,7 @@
   -> Ptr GLuint -- ^ @textures@ pointing to @COMPSIZE(numTextureBarriers)@ elements of type @GLuint@.
   -> Ptr GLenum -- ^ @srcLayouts@ pointing to @COMPSIZE(numTextureBarriers)@ elements of type [TextureLayout](Graphics-GL-Groups.html#TextureLayout).
   -> m ()
-glWaitSemaphoreEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn733 ptr_glWaitSemaphoreEXT v1 v2 v3 v4 v5 v6
+glWaitSemaphoreEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn734 ptr_glWaitSemaphoreEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glWaitSemaphoreEXT #-}
 ptr_glWaitSemaphoreEXT :: FunPtr (GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> IO ())
@@ -871,7 +1011,7 @@
   -> GLbitfield -- ^ @flags@.
   -> GLuint64 -- ^ @timeout@.
   -> m ()
-glWaitSync v1 v2 v3 = liftIO $ dyn916 ptr_glWaitSync v1 v2 v3
+glWaitSync v1 v2 v3 = liftIO $ dyn917 ptr_glWaitSync v1 v2 v3
 
 {-# NOINLINE ptr_glWaitSync #-}
 ptr_glWaitSync :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
@@ -886,7 +1026,7 @@
   -> GLbitfield -- ^ @flags@.
   -> GLuint64 -- ^ @timeout@.
   -> m ()
-glWaitSyncAPPLE v1 v2 v3 = liftIO $ dyn916 ptr_glWaitSyncAPPLE v1 v2 v3
+glWaitSyncAPPLE v1 v2 v3 = liftIO $ dyn917 ptr_glWaitSyncAPPLE v1 v2 v3
 
 {-# NOINLINE ptr_glWaitSyncAPPLE #-}
 ptr_glWaitSyncAPPLE :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
@@ -913,7 +1053,7 @@
   -> Ptr GLuint -- ^ @paths@ pointing to @numPaths@ elements of type @Path@.
   -> Ptr GLfloat -- ^ @weights@ pointing to @numPaths@ elements of type @GLfloat@.
   -> m ()
-glWeightPathsNV v1 v2 v3 v4 = liftIO $ dyn917 ptr_glWeightPathsNV v1 v2 v3 v4
+glWeightPathsNV v1 v2 v3 v4 = liftIO $ dyn918 ptr_glWeightPathsNV v1 v2 v3 v4
 
 {-# NOINLINE ptr_glWeightPathsNV #-}
 ptr_glWeightPathsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
@@ -956,7 +1096,7 @@
   => GLint -- ^ @size@.
   -> Ptr GLbyte -- ^ @weights@ pointing to @size@ elements of type @GLbyte@.
   -> m ()
-glWeightbvARB v1 v2 = liftIO $ dyn918 ptr_glWeightbvARB v1 v2
+glWeightbvARB v1 v2 = liftIO $ dyn919 ptr_glWeightbvARB v1 v2
 
 {-# NOINLINE ptr_glWeightbvARB #-}
 ptr_glWeightbvARB :: FunPtr (GLint -> Ptr GLbyte -> IO ())
@@ -969,7 +1109,7 @@
   => GLint -- ^ @size@.
   -> Ptr GLdouble -- ^ @weights@ pointing to @size@ elements of type @GLdouble@.
   -> m ()
-glWeightdvARB v1 v2 = liftIO $ dyn919 ptr_glWeightdvARB v1 v2
+glWeightdvARB v1 v2 = liftIO $ dyn920 ptr_glWeightdvARB v1 v2
 
 {-# NOINLINE ptr_glWeightdvARB #-}
 ptr_glWeightdvARB :: FunPtr (GLint -> Ptr GLdouble -> IO ())
@@ -982,7 +1122,7 @@
   => GLint -- ^ @size@.
   -> Ptr GLfloat -- ^ @weights@ pointing to @size@ elements of type @GLfloat@.
   -> m ()
-glWeightfvARB v1 v2 = liftIO $ dyn920 ptr_glWeightfvARB v1 v2
+glWeightfvARB v1 v2 = liftIO $ dyn921 ptr_glWeightfvARB v1 v2
 
 {-# NOINLINE ptr_glWeightfvARB #-}
 ptr_glWeightfvARB :: FunPtr (GLint -> Ptr GLfloat -> IO ())
@@ -995,7 +1135,7 @@
   => GLint -- ^ @size@.
   -> Ptr GLint -- ^ @weights@ pointing to @size@ elements of type @GLint@.
   -> m ()
-glWeightivARB v1 v2 = liftIO $ dyn921 ptr_glWeightivARB v1 v2
+glWeightivARB v1 v2 = liftIO $ dyn922 ptr_glWeightivARB v1 v2
 
 {-# NOINLINE ptr_glWeightivARB #-}
 ptr_glWeightivARB :: FunPtr (GLint -> Ptr GLint -> IO ())
@@ -1008,7 +1148,7 @@
   => GLint -- ^ @size@.
   -> Ptr GLshort -- ^ @weights@ pointing to @size@ elements of type @GLshort@.
   -> m ()
-glWeightsvARB v1 v2 = liftIO $ dyn922 ptr_glWeightsvARB v1 v2
+glWeightsvARB v1 v2 = liftIO $ dyn923 ptr_glWeightsvARB v1 v2
 
 {-# NOINLINE ptr_glWeightsvARB #-}
 ptr_glWeightsvARB :: FunPtr (GLint -> Ptr GLshort -> IO ())
@@ -1061,7 +1201,7 @@
   => GLdouble -- ^ @x@ of type @CoordD@.
   -> GLdouble -- ^ @y@ of type @CoordD@.
   -> m ()
-glWindowPos2d v1 v2 = liftIO $ dyn220 ptr_glWindowPos2d v1 v2
+glWindowPos2d v1 v2 = liftIO $ dyn221 ptr_glWindowPos2d v1 v2
 
 {-# NOINLINE ptr_glWindowPos2d #-}
 ptr_glWindowPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -1075,7 +1215,7 @@
   => GLdouble -- ^ @x@ of type @CoordD@.
   -> GLdouble -- ^ @y@ of type @CoordD@.
   -> m ()
-glWindowPos2dARB v1 v2 = liftIO $ dyn220 ptr_glWindowPos2dARB v1 v2
+glWindowPos2dARB v1 v2 = liftIO $ dyn221 ptr_glWindowPos2dARB v1 v2
 
 {-# NOINLINE ptr_glWindowPos2dARB #-}
 ptr_glWindowPos2dARB :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -1089,7 +1229,7 @@
   => GLdouble -- ^ @x@ of type @CoordD@.
   -> GLdouble -- ^ @y@ of type @CoordD@.
   -> m ()
-glWindowPos2dMESA v1 v2 = liftIO $ dyn220 ptr_glWindowPos2dMESA v1 v2
+glWindowPos2dMESA v1 v2 = liftIO $ dyn221 ptr_glWindowPos2dMESA v1 v2
 
 {-# NOINLINE ptr_glWindowPos2dMESA #-}
 ptr_glWindowPos2dMESA :: FunPtr (GLdouble -> GLdouble -> IO ())
@@ -1142,7 +1282,7 @@
   => GLfloat -- ^ @x@ of type @CoordF@.
   -> GLfloat -- ^ @y@ of type @CoordF@.
   -> m ()
-glWindowPos2f v1 v2 = liftIO $ dyn225 ptr_glWindowPos2f v1 v2
+glWindowPos2f v1 v2 = liftIO $ dyn226 ptr_glWindowPos2f v1 v2
 
 {-# NOINLINE ptr_glWindowPos2f #-}
 ptr_glWindowPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -1156,7 +1296,7 @@
   => GLfloat -- ^ @x@ of type @CoordF@.
   -> GLfloat -- ^ @y@ of type @CoordF@.
   -> m ()
-glWindowPos2fARB v1 v2 = liftIO $ dyn225 ptr_glWindowPos2fARB v1 v2
+glWindowPos2fARB v1 v2 = liftIO $ dyn226 ptr_glWindowPos2fARB v1 v2
 
 {-# NOINLINE ptr_glWindowPos2fARB #-}
 ptr_glWindowPos2fARB :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -1170,7 +1310,7 @@
   => GLfloat -- ^ @x@ of type @CoordF@.
   -> GLfloat -- ^ @y@ of type @CoordF@.
   -> m ()
-glWindowPos2fMESA v1 v2 = liftIO $ dyn225 ptr_glWindowPos2fMESA v1 v2
+glWindowPos2fMESA v1 v2 = liftIO $ dyn226 ptr_glWindowPos2fMESA v1 v2
 
 {-# NOINLINE ptr_glWindowPos2fMESA #-}
 ptr_glWindowPos2fMESA :: FunPtr (GLfloat -> GLfloat -> IO ())
@@ -1223,7 +1363,7 @@
   => GLint -- ^ @x@ of type @CoordI@.
   -> GLint -- ^ @y@ of type @CoordI@.
   -> m ()
-glWindowPos2i v1 v2 = liftIO $ dyn270 ptr_glWindowPos2i v1 v2
+glWindowPos2i v1 v2 = liftIO $ dyn271 ptr_glWindowPos2i v1 v2
 
 {-# NOINLINE ptr_glWindowPos2i #-}
 ptr_glWindowPos2i :: FunPtr (GLint -> GLint -> IO ())
@@ -1237,7 +1377,7 @@
   => GLint -- ^ @x@ of type @CoordI@.
   -> GLint -- ^ @y@ of type @CoordI@.
   -> m ()
-glWindowPos2iARB v1 v2 = liftIO $ dyn270 ptr_glWindowPos2iARB v1 v2
+glWindowPos2iARB v1 v2 = liftIO $ dyn271 ptr_glWindowPos2iARB v1 v2
 
 {-# NOINLINE ptr_glWindowPos2iARB #-}
 ptr_glWindowPos2iARB :: FunPtr (GLint -> GLint -> IO ())
@@ -1251,7 +1391,7 @@
   => GLint -- ^ @x@ of type @CoordI@.
   -> GLint -- ^ @y@ of type @CoordI@.
   -> m ()
-glWindowPos2iMESA v1 v2 = liftIO $ dyn270 ptr_glWindowPos2iMESA v1 v2
+glWindowPos2iMESA v1 v2 = liftIO $ dyn271 ptr_glWindowPos2iMESA v1 v2
 
 {-# NOINLINE ptr_glWindowPos2iMESA #-}
 ptr_glWindowPos2iMESA :: FunPtr (GLint -> GLint -> IO ())
@@ -1304,7 +1444,7 @@
   => GLshort -- ^ @x@ of type @CoordS@.
   -> GLshort -- ^ @y@ of type @CoordS@.
   -> m ()
-glWindowPos2s v1 v2 = liftIO $ dyn694 ptr_glWindowPos2s v1 v2
+glWindowPos2s v1 v2 = liftIO $ dyn695 ptr_glWindowPos2s v1 v2
 
 {-# NOINLINE ptr_glWindowPos2s #-}
 ptr_glWindowPos2s :: FunPtr (GLshort -> GLshort -> IO ())
@@ -1318,7 +1458,7 @@
   => GLshort -- ^ @x@ of type @CoordS@.
   -> GLshort -- ^ @y@ of type @CoordS@.
   -> m ()
-glWindowPos2sARB v1 v2 = liftIO $ dyn694 ptr_glWindowPos2sARB v1 v2
+glWindowPos2sARB v1 v2 = liftIO $ dyn695 ptr_glWindowPos2sARB v1 v2
 
 {-# NOINLINE ptr_glWindowPos2sARB #-}
 ptr_glWindowPos2sARB :: FunPtr (GLshort -> GLshort -> IO ())
@@ -1332,7 +1472,7 @@
   => GLshort -- ^ @x@ of type @CoordS@.
   -> GLshort -- ^ @y@ of type @CoordS@.
   -> m ()
-glWindowPos2sMESA v1 v2 = liftIO $ dyn694 ptr_glWindowPos2sMESA v1 v2
+glWindowPos2sMESA v1 v2 = liftIO $ dyn695 ptr_glWindowPos2sMESA v1 v2
 
 {-# NOINLINE ptr_glWindowPos2sMESA #-}
 ptr_glWindowPos2sMESA :: FunPtr (GLshort -> GLshort -> IO ())
@@ -1376,146 +1516,4 @@
 {-# NOINLINE ptr_glWindowPos2svMESA #-}
 ptr_glWindowPos2svMESA :: FunPtr (Ptr GLshort -> IO ())
 ptr_glWindowPos2svMESA = unsafePerformIO $ getCommand "glWindowPos2svMESA"
-
--- glWindowPos3d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3dv'.
-glWindowPos3d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glWindowPos3d v1 v2 v3 = liftIO $ dyn39 ptr_glWindowPos3d v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3d #-}
-ptr_glWindowPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos3d = unsafePerformIO $ getCommand "glWindowPos3d"
-
--- glWindowPos3dARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3dvARB'. This command is an alias for 'glWindowPos3d'.
-glWindowPos3dARB
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glWindowPos3dARB v1 v2 v3 = liftIO $ dyn39 ptr_glWindowPos3dARB v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3dARB #-}
-ptr_glWindowPos3dARB :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos3dARB = unsafePerformIO $ getCommand "glWindowPos3dARB"
-
--- glWindowPos3dMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3dvMESA'. This command is an alias for 'glWindowPos3d'.
-glWindowPos3dMESA
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glWindowPos3dMESA v1 v2 v3 = liftIO $ dyn39 ptr_glWindowPos3dMESA v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3dMESA #-}
-ptr_glWindowPos3dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos3dMESA = unsafePerformIO $ getCommand "glWindowPos3dMESA"
-
--- glWindowPos3dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glWindowPos3dv v1 = liftIO $ dyn40 ptr_glWindowPos3dv v1
-
-{-# NOINLINE ptr_glWindowPos3dv #-}
-ptr_glWindowPos3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos3dv = unsafePerformIO $ getCommand "glWindowPos3dv"
-
--- glWindowPos3dvARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3dv'.
-glWindowPos3dvARB
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glWindowPos3dvARB v1 = liftIO $ dyn40 ptr_glWindowPos3dvARB v1
-
-{-# NOINLINE ptr_glWindowPos3dvARB #-}
-ptr_glWindowPos3dvARB :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos3dvARB = unsafePerformIO $ getCommand "glWindowPos3dvARB"
-
--- glWindowPos3dvMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3dv'.
-glWindowPos3dvMESA
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glWindowPos3dvMESA v1 = liftIO $ dyn40 ptr_glWindowPos3dvMESA v1
-
-{-# NOINLINE ptr_glWindowPos3dvMESA #-}
-ptr_glWindowPos3dvMESA :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos3dvMESA = unsafePerformIO $ getCommand "glWindowPos3dvMESA"
-
--- glWindowPos3f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3fv'.
-glWindowPos3f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glWindowPos3f v1 v2 v3 = liftIO $ dyn41 ptr_glWindowPos3f v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3f #-}
-ptr_glWindowPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos3f = unsafePerformIO $ getCommand "glWindowPos3f"
-
--- glWindowPos3fARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3fvARB'. This command is an alias for 'glWindowPos3f'.
-glWindowPos3fARB
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glWindowPos3fARB v1 v2 v3 = liftIO $ dyn41 ptr_glWindowPos3fARB v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3fARB #-}
-ptr_glWindowPos3fARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos3fARB = unsafePerformIO $ getCommand "glWindowPos3fARB"
-
--- glWindowPos3fMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3fvMESA'. This command is an alias for 'glWindowPos3f'.
-glWindowPos3fMESA
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glWindowPos3fMESA v1 v2 v3 = liftIO $ dyn41 ptr_glWindowPos3fMESA v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3fMESA #-}
-ptr_glWindowPos3fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos3fMESA = unsafePerformIO $ getCommand "glWindowPos3fMESA"
-
--- glWindowPos3fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glWindowPos3fv v1 = liftIO $ dyn42 ptr_glWindowPos3fv v1
-
-{-# NOINLINE ptr_glWindowPos3fv #-}
-ptr_glWindowPos3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos3fv = unsafePerformIO $ getCommand "glWindowPos3fv"
 
diff --git a/src/Graphics/GL/Functions/F33.hs b/src/Graphics/GL/Functions/F33.hs
--- a/src/Graphics/GL/Functions/F33.hs
+++ b/src/Graphics/GL/Functions/F33.hs
@@ -15,6 +15,16 @@
 --------------------------------------------------------------------------------
 
 module Graphics.GL.Functions.F33 (
+  glWindowPos3d,
+  glWindowPos3dARB,
+  glWindowPos3dMESA,
+  glWindowPos3dv,
+  glWindowPos3dvARB,
+  glWindowPos3dvMESA,
+  glWindowPos3f,
+  glWindowPos3fARB,
+  glWindowPos3fMESA,
+  glWindowPos3fv,
   glWindowPos3fvARB,
   glWindowPos3fvMESA,
   glWindowPos3i,
@@ -47,6 +57,148 @@
 import Graphics.GL.Types
 import System.IO.Unsafe ( unsafePerformIO )
 
+-- glWindowPos3d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3dv'.
+glWindowPos3d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glWindowPos3d v1 v2 v3 = liftIO $ dyn39 ptr_glWindowPos3d v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3d #-}
+ptr_glWindowPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos3d = unsafePerformIO $ getCommand "glWindowPos3d"
+
+-- glWindowPos3dARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3dvARB'. This command is an alias for 'glWindowPos3d'.
+glWindowPos3dARB
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glWindowPos3dARB v1 v2 v3 = liftIO $ dyn39 ptr_glWindowPos3dARB v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3dARB #-}
+ptr_glWindowPos3dARB :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos3dARB = unsafePerformIO $ getCommand "glWindowPos3dARB"
+
+-- glWindowPos3dMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3dvMESA'. This command is an alias for 'glWindowPos3d'.
+glWindowPos3dMESA
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glWindowPos3dMESA v1 v2 v3 = liftIO $ dyn39 ptr_glWindowPos3dMESA v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3dMESA #-}
+ptr_glWindowPos3dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos3dMESA = unsafePerformIO $ getCommand "glWindowPos3dMESA"
+
+-- glWindowPos3dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glWindowPos3dv v1 = liftIO $ dyn40 ptr_glWindowPos3dv v1
+
+{-# NOINLINE ptr_glWindowPos3dv #-}
+ptr_glWindowPos3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos3dv = unsafePerformIO $ getCommand "glWindowPos3dv"
+
+-- glWindowPos3dvARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3dv'.
+glWindowPos3dvARB
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glWindowPos3dvARB v1 = liftIO $ dyn40 ptr_glWindowPos3dvARB v1
+
+{-# NOINLINE ptr_glWindowPos3dvARB #-}
+ptr_glWindowPos3dvARB :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos3dvARB = unsafePerformIO $ getCommand "glWindowPos3dvARB"
+
+-- glWindowPos3dvMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3dv'.
+glWindowPos3dvMESA
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glWindowPos3dvMESA v1 = liftIO $ dyn40 ptr_glWindowPos3dvMESA v1
+
+{-# NOINLINE ptr_glWindowPos3dvMESA #-}
+ptr_glWindowPos3dvMESA :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos3dvMESA = unsafePerformIO $ getCommand "glWindowPos3dvMESA"
+
+-- glWindowPos3f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3fv'.
+glWindowPos3f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glWindowPos3f v1 v2 v3 = liftIO $ dyn41 ptr_glWindowPos3f v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3f #-}
+ptr_glWindowPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos3f = unsafePerformIO $ getCommand "glWindowPos3f"
+
+-- glWindowPos3fARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3fvARB'. This command is an alias for 'glWindowPos3f'.
+glWindowPos3fARB
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glWindowPos3fARB v1 v2 v3 = liftIO $ dyn41 ptr_glWindowPos3fARB v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3fARB #-}
+ptr_glWindowPos3fARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos3fARB = unsafePerformIO $ getCommand "glWindowPos3fARB"
+
+-- glWindowPos3fMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3fvMESA'. This command is an alias for 'glWindowPos3f'.
+glWindowPos3fMESA
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glWindowPos3fMESA v1 v2 v3 = liftIO $ dyn41 ptr_glWindowPos3fMESA v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3fMESA #-}
+ptr_glWindowPos3fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos3fMESA = unsafePerformIO $ getCommand "glWindowPos3fMESA"
+
+-- glWindowPos3fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glWindowPos3fv v1 = liftIO $ dyn42 ptr_glWindowPos3fv v1
+
+{-# NOINLINE ptr_glWindowPos3fv #-}
+ptr_glWindowPos3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos3fv = unsafePerformIO $ getCommand "glWindowPos3fv"
+
 -- glWindowPos3fvARB -----------------------------------------------------------
 
 -- | This command is an alias for 'glWindowPos3fv'.
@@ -361,7 +513,7 @@
   -> GLsizei -- ^ @count@.
   -> Ptr GLint -- ^ @box@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
   -> m ()
-glWindowRectanglesEXT v1 v2 v3 = liftIO $ dyn923 ptr_glWindowRectanglesEXT v1 v2 v3
+glWindowRectanglesEXT v1 v2 v3 = liftIO $ dyn924 ptr_glWindowRectanglesEXT v1 v2 v3
 
 {-# NOINLINE ptr_glWindowRectanglesEXT #-}
 ptr_glWindowRectanglesEXT :: FunPtr (GLenum -> GLsizei -> Ptr GLint -> IO ())
@@ -378,7 +530,7 @@
   -> GLenum -- ^ @outZ@ of type @VertexShaderWriteMaskEXT@.
   -> GLenum -- ^ @outW@ of type @VertexShaderWriteMaskEXT@.
   -> m ()
-glWriteMaskEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn746 ptr_glWriteMaskEXT v1 v2 v3 v4 v5 v6
+glWriteMaskEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn747 ptr_glWriteMaskEXT v1 v2 v3 v4 v5 v6
 
 {-# NOINLINE ptr_glWriteMaskEXT #-}
 ptr_glWriteMaskEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
diff --git a/src/Graphics/GL/Groups.hs b/src/Graphics/GL/Groups.hs
--- a/src/Graphics/GL/Groups.hs
+++ b/src/Graphics/GL/Groups.hs
@@ -44,1898 +44,3028 @@
 -- * 'Graphics.GL.Tokens.GL_NEVER'
 -- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
 --
--- === #AttribMask# AttribMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ACCUM_BUFFER_BIT'
--- * 'Graphics.GL.Tokens.GL_ALL_ATTRIB_BITS'
--- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT'
--- * 'Graphics.GL.Tokens.GL_CURRENT_BIT'
--- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT'
--- * 'Graphics.GL.Tokens.GL_ENABLE_BIT'
--- * 'Graphics.GL.Tokens.GL_EVAL_BIT'
--- * 'Graphics.GL.Tokens.GL_FOG_BIT'
--- * 'Graphics.GL.Tokens.GL_HINT_BIT'
--- * 'Graphics.GL.Tokens.GL_LIGHTING_BIT'
--- * 'Graphics.GL.Tokens.GL_LINE_BIT'
--- * 'Graphics.GL.Tokens.GL_LIST_BIT'
--- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT' (aliases: 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_3DFX', 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_ARB', 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_PIXEL_MODE_BIT'
--- * 'Graphics.GL.Tokens.GL_POINT_BIT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_BIT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE_BIT'
--- * 'Graphics.GL.Tokens.GL_SCISSOR_BIT'
--- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BIT'
--- * 'Graphics.GL.Tokens.GL_TRANSFORM_BIT'
--- * 'Graphics.GL.Tokens.GL_VIEWPORT_BIT'
---
--- === #BlendEquationModeEXT# BlendEquationModeEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALPHA_MAX_SGIX'
--- * 'Graphics.GL.Tokens.GL_ALPHA_MIN_SGIX'
--- * 'Graphics.GL.Tokens.GL_FUNC_ADD_EXT'
--- * 'Graphics.GL.Tokens.GL_FUNC_REVERSE_SUBTRACT_EXT'
--- * 'Graphics.GL.Tokens.GL_FUNC_SUBTRACT_EXT'
--- * 'Graphics.GL.Tokens.GL_LOGIC_OP'
--- * 'Graphics.GL.Tokens.GL_MAX_EXT'
--- * 'Graphics.GL.Tokens.GL_MIN_EXT'
---
--- === #BlendingFactorDest# BlendingFactorDest
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CONSTANT_ALPHA_EXT'
--- * 'Graphics.GL.Tokens.GL_CONSTANT_COLOR_EXT'
--- * 'Graphics.GL.Tokens.GL_DST_ALPHA'
--- * 'Graphics.GL.Tokens.GL_ONE'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_ALPHA_EXT'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_COLOR_EXT'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_ALPHA'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_COLOR'
--- * 'Graphics.GL.Tokens.GL_SRC_ALPHA'
--- * 'Graphics.GL.Tokens.GL_SRC_COLOR'
--- * 'Graphics.GL.Tokens.GL_ZERO'
---
--- === #BlendingFactorSrc# BlendingFactorSrc
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CONSTANT_ALPHA_EXT'
--- * 'Graphics.GL.Tokens.GL_CONSTANT_COLOR_EXT'
--- * 'Graphics.GL.Tokens.GL_DST_ALPHA'
--- * 'Graphics.GL.Tokens.GL_DST_COLOR'
--- * 'Graphics.GL.Tokens.GL_ONE'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_ALPHA_EXT'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_COLOR_EXT'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_ALPHA'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_COLOR'
--- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA'
--- * 'Graphics.GL.Tokens.GL_SRC_ALPHA'
--- * 'Graphics.GL.Tokens.GL_SRC_ALPHA_SATURATE'
--- * 'Graphics.GL.Tokens.GL_ZERO'
---
--- === #Boolean# Boolean
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FALSE'
--- * 'Graphics.GL.Tokens.GL_TRUE'
---
--- === #BufferAccessARB# BufferAccessARB
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_READ_ONLY'
--- * 'Graphics.GL.Tokens.GL_WRITE_ONLY'
--- * 'Graphics.GL.Tokens.GL_READ_WRITE'
---
--- === #BufferTargetARB# BufferTargetARB
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ARRAY_BUFFER'
--- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER'
--- * 'Graphics.GL.Tokens.GL_COPY_READ_BUFFER'
--- * 'Graphics.GL.Tokens.GL_COPY_WRITE_BUFFER'
--- * 'Graphics.GL.Tokens.GL_DISPATCH_INDIRECT_BUFFER'
--- * 'Graphics.GL.Tokens.GL_DRAW_INDIRECT_BUFFER'
--- * 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BUFFER'
--- * 'Graphics.GL.Tokens.GL_PIXEL_PACK_BUFFER'
--- * 'Graphics.GL.Tokens.GL_PIXEL_UNPACK_BUFFER'
--- * 'Graphics.GL.Tokens.GL_QUERY_BUFFER'
--- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BUFFER'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BUFFER'
--- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER'
--- * 'Graphics.GL.Tokens.GL_UNIFORM_BUFFER'
---
--- === #BufferUsageARB# BufferUsageARB
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_STREAM_DRAW'
--- * 'Graphics.GL.Tokens.GL_STREAM_READ'
--- * 'Graphics.GL.Tokens.GL_STREAM_COPY'
--- * 'Graphics.GL.Tokens.GL_STATIC_DRAW'
--- * 'Graphics.GL.Tokens.GL_STATIC_READ'
--- * 'Graphics.GL.Tokens.GL_STATIC_COPY'
--- * 'Graphics.GL.Tokens.GL_DYNAMIC_DRAW'
--- * 'Graphics.GL.Tokens.GL_DYNAMIC_READ'
--- * 'Graphics.GL.Tokens.GL_DYNAMIC_COPY'
---
--- === #ClearBufferMask# ClearBufferMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ACCUM_BUFFER_BIT'
--- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT'
--- * 'Graphics.GL.Tokens.GL_COVERAGE_BUFFER_BIT_NV'
--- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT'
--- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT'
---
--- === #ClientAttribMask# ClientAttribMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CLIENT_ALL_ATTRIB_BITS'
--- * 'Graphics.GL.Tokens.GL_CLIENT_PIXEL_STORE_BIT'
--- * 'Graphics.GL.Tokens.GL_CLIENT_VERTEX_ARRAY_BIT'
---
--- === #ClipPlaneName# ClipPlaneName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE0' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE0')
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE1' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE1')
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE2' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE2')
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE3' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE3')
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE4' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE4')
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE5' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE5')
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE6'
--- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE7'
---
--- === #ColorMaterialFace# ColorMaterialFace
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_BACK'
--- * 'Graphics.GL.Tokens.GL_FRONT'
--- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
---
--- === #ColorMaterialParameter# ColorMaterialParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_AMBIENT'
--- * 'Graphics.GL.Tokens.GL_AMBIENT_AND_DIFFUSE'
--- * 'Graphics.GL.Tokens.GL_DIFFUSE'
--- * 'Graphics.GL.Tokens.GL_EMISSION'
--- * 'Graphics.GL.Tokens.GL_SPECULAR'
---
--- === #ColorPointerType# ColorPointerType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_BYTE'
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_INT'
--- * 'Graphics.GL.Tokens.GL_SHORT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
---
--- === #ColorTableParameterPNameSGI# ColorTableParameterPNameSGI
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS_SGI')
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE_SGI')
---
--- === #ColorTableTargetSGI# ColorTableTargetSGI
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI')
--- * 'Graphics.GL.Tokens.GL_PROXY_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_COLOR_TABLE_SGI')
--- * 'Graphics.GL.Tokens.GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
--- * 'Graphics.GL.Tokens.GL_PROXY_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
---
--- === #ContextFlagMask# ContextFlagMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_DEBUG_BIT' (alias: 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_DEBUG_BIT_KHR')
--- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT'
--- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB'
--- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT'
---
--- === #ContextProfileMask# ContextProfileMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CONTEXT_COMPATIBILITY_PROFILE_BIT'
--- * 'Graphics.GL.Tokens.GL_CONTEXT_CORE_PROFILE_BIT'
---
--- === #ConvolutionBorderModeEXT# ConvolutionBorderModeEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_REDUCE' (alias: 'Graphics.GL.Tokens.GL_REDUCE_EXT')
---
--- === #ConvolutionParameterEXT# ConvolutionParameterEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE_EXT')
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS_EXT')
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE_EXT')
---
--- === #ConvolutionTargetEXT# ConvolutionTargetEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT')
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT')
---
--- === #CullFaceMode# CullFaceMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_BACK'
--- * 'Graphics.GL.Tokens.GL_FRONT'
--- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
---
--- === #DataType# DataType
--- There are no values defined for this enumeration group.
---
---
--- === #DepthFunction# DepthFunction
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALWAYS'
--- * 'Graphics.GL.Tokens.GL_EQUAL'
--- * 'Graphics.GL.Tokens.GL_GEQUAL'
--- * 'Graphics.GL.Tokens.GL_GREATER'
--- * 'Graphics.GL.Tokens.GL_LEQUAL'
--- * 'Graphics.GL.Tokens.GL_LESS'
--- * 'Graphics.GL.Tokens.GL_NEVER'
--- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
---
--- === #DrawBufferMode# DrawBufferMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_AUX0'
--- * 'Graphics.GL.Tokens.GL_AUX1'
--- * 'Graphics.GL.Tokens.GL_AUX2'
--- * 'Graphics.GL.Tokens.GL_AUX3'
--- * 'Graphics.GL.Tokens.GL_BACK'
--- * 'Graphics.GL.Tokens.GL_BACK_LEFT'
--- * 'Graphics.GL.Tokens.GL_BACK_RIGHT'
--- * 'Graphics.GL.Tokens.GL_FRONT'
--- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
--- * 'Graphics.GL.Tokens.GL_FRONT_LEFT'
--- * 'Graphics.GL.Tokens.GL_FRONT_RIGHT'
--- * 'Graphics.GL.Tokens.GL_LEFT'
--- * 'Graphics.GL.Tokens.GL_NONE' (alias: 'Graphics.GL.Tokens.GL_NONE_OES')
--- * 'Graphics.GL.Tokens.GL_RIGHT'
---
--- === #DrawElementsType# DrawElementsType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
---
--- === #EnableCap# EnableCap
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALPHA_TEST'
--- * 'Graphics.GL.Tokens.GL_ASYNC_DRAW_PIXELS_SGIX'
--- * 'Graphics.GL.Tokens.GL_ASYNC_HISTOGRAM_SGIX'
--- * 'Graphics.GL.Tokens.GL_ASYNC_READ_PIXELS_SGIX'
--- * 'Graphics.GL.Tokens.GL_ASYNC_TEX_IMAGE_SGIX'
--- * 'Graphics.GL.Tokens.GL_AUTO_NORMAL'
--- * 'Graphics.GL.Tokens.GL_BLEND'
--- * 'Graphics.GL.Tokens.GL_CALLIGRAPHIC_FRAGMENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE0'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE1'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE2'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE3'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE4'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE5'
--- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY'
--- * 'Graphics.GL.Tokens.GL_COLOR_LOGIC_OP'
--- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT'
--- * 'Graphics.GL.Tokens.GL_CULL_FACE'
--- * 'Graphics.GL.Tokens.GL_DEPTH_TEST'
--- * 'Graphics.GL.Tokens.GL_DITHER'
--- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY'
--- * 'Graphics.GL.Tokens.GL_FOG'
--- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT1_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT2_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT3_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT4_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT5_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT6_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT7_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHTING_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_SGIX'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT'
--- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY'
--- * 'Graphics.GL.Tokens.GL_INDEX_LOGIC_OP'
--- * 'Graphics.GL.Tokens.GL_INTERLACE_SGIX'
--- * 'Graphics.GL.Tokens.GL_IR_INSTRUMENT1_SGIX'
--- * 'Graphics.GL.Tokens.GL_LIGHT0'
--- * 'Graphics.GL.Tokens.GL_LIGHT1'
--- * 'Graphics.GL.Tokens.GL_LIGHT2'
--- * 'Graphics.GL.Tokens.GL_LIGHT3'
--- * 'Graphics.GL.Tokens.GL_LIGHT4'
--- * 'Graphics.GL.Tokens.GL_LIGHT5'
--- * 'Graphics.GL.Tokens.GL_LIGHT6'
--- * 'Graphics.GL.Tokens.GL_LIGHT7'
--- * 'Graphics.GL.Tokens.GL_LIGHTING'
--- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH'
--- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE'
--- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
--- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
--- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
--- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
--- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
--- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
--- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
--- * 'Graphics.GL.Tokens.GL_MINMAX_EXT'
--- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_SGIS'
--- * 'Graphics.GL.Tokens.GL_NORMALIZE'
--- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEXTURE_SGIS'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_SGIX'
--- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FILL'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_LINE'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_POINT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH'
--- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_SGIX'
--- * 'Graphics.GL.Tokens.GL_RESCALE_NORMAL_EXT'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_MASK_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_ONE_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_SGIS'
--- * 'Graphics.GL.Tokens.GL_SCISSOR_TEST'
--- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT'
--- * 'Graphics.GL.Tokens.GL_SHARED_TEXTURE_PALETTE_EXT'
--- * 'Graphics.GL.Tokens.GL_SPRITE_SGIX'
--- * 'Graphics.GL.Tokens.GL_STENCIL_TEST'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_Q'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_R'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_S'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_T'
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY'
---
--- === #ErrorCode# ErrorCode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_INVALID_ENUM'
--- * 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION' (aliases: 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION_EXT', 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION_OES')
--- * 'Graphics.GL.Tokens.GL_INVALID_OPERATION'
--- * 'Graphics.GL.Tokens.GL_INVALID_VALUE'
--- * 'Graphics.GL.Tokens.GL_NO_ERROR'
--- * 'Graphics.GL.Tokens.GL_OUT_OF_MEMORY'
--- * 'Graphics.GL.Tokens.GL_STACK_OVERFLOW'
--- * 'Graphics.GL.Tokens.GL_STACK_UNDERFLOW'
--- * 'Graphics.GL.Tokens.GL_TABLE_TOO_LARGE' (alias: 'Graphics.GL.Tokens.GL_TABLE_TOO_LARGE_EXT')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_TOO_LARGE_EXT'
---
--- === #ExternalHandleType# ExternalHandleType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_OPAQUE_FD_EXT'
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_OPAQUE_WIN32_EXT'
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT'
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT'
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D12_RESOURCE_EXT'
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D11_IMAGE_EXT'
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT'
--- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D12_FENCE_EXT'
---
--- === #FeedBackToken# FeedBackToken
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_BITMAP_TOKEN'
--- * 'Graphics.GL.Tokens.GL_COPY_PIXEL_TOKEN'
--- * 'Graphics.GL.Tokens.GL_DRAW_PIXEL_TOKEN'
--- * 'Graphics.GL.Tokens.GL_LINE_RESET_TOKEN'
--- * 'Graphics.GL.Tokens.GL_LINE_TOKEN'
--- * 'Graphics.GL.Tokens.GL_PASS_THROUGH_TOKEN'
--- * 'Graphics.GL.Tokens.GL_POINT_TOKEN'
--- * 'Graphics.GL.Tokens.GL_POLYGON_TOKEN'
---
--- === #FeedbackType# FeedbackType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_2D'
--- * 'Graphics.GL.Tokens.GL_3D'
--- * 'Graphics.GL.Tokens.GL_3D_COLOR'
--- * 'Graphics.GL.Tokens.GL_3D_COLOR_TEXTURE'
--- * 'Graphics.GL.Tokens.GL_4D_COLOR_TEXTURE'
---
--- === #FfdMaskSGIX# FfdMaskSGIX
--- There are no values defined for this enumeration group.
---
---
--- === #FfdTargetSGIX# FfdTargetSGIX
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_GEOMETRY_DEFORMATION_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_DEFORMATION_SGIX'
---
--- === #FogCoordinatePointerType# FogCoordinatePointerType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
---
--- === #FogMode# FogMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_EXP'
--- * 'Graphics.GL.Tokens.GL_EXP2'
--- * 'Graphics.GL.Tokens.GL_FOG_FUNC_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR'
---
--- === #FogParameter# FogParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FOG_COLOR'
--- * 'Graphics.GL.Tokens.GL_FOG_DENSITY'
--- * 'Graphics.GL.Tokens.GL_FOG_END'
--- * 'Graphics.GL.Tokens.GL_FOG_INDEX'
--- * 'Graphics.GL.Tokens.GL_FOG_MODE'
--- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_VALUE_SGIX'
--- * 'Graphics.GL.Tokens.GL_FOG_START'
---
--- === #FogPointerTypeEXT# FogPointerTypeEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
---
--- === #FogPointerTypeIBM# FogPointerTypeIBM
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
---
--- === #FragmentLightModelParameterSGIX# FragmentLightModelParameterSGIX
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
---
--- === #FramebufferFetchNoncoherent# FramebufferFetchNoncoherent
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM'
---
--- === #FrontFaceDirection# FrontFaceDirection
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CCW'
--- * 'Graphics.GL.Tokens.GL_CW'
---
--- === #GetColorTableParameterPNameSGI# GetColorTableParameterPNameSGI
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_ALPHA_SIZE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BLUE_SIZE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_FORMAT_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_GREEN_SIZE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_INTENSITY_SIZE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_LUMINANCE_SIZE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_RED_SIZE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_WIDTH_SGI'
---
--- === #GetConvolutionParameter# GetConvolutionParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FORMAT_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HEIGHT_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_WIDTH_EXT'
--- * 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_HEIGHT_EXT'
--- * 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_WIDTH_EXT'
---
--- === #GetHistogramParameterPNameEXT# GetHistogramParameterPNameEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_ALPHA_SIZE_EXT'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_BLUE_SIZE_EXT'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_FORMAT_EXT'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_GREEN_SIZE_EXT'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_LUMINANCE_SIZE_EXT'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_RED_SIZE_EXT'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_SINK_EXT'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_WIDTH_EXT'
---
--- === #GetMapQuery# GetMapQuery
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_COEFF'
--- * 'Graphics.GL.Tokens.GL_DOMAIN'
--- * 'Graphics.GL.Tokens.GL_ORDER'
---
--- === #GetMinmaxParameterPNameEXT# GetMinmaxParameterPNameEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_MINMAX_FORMAT' (alias: 'Graphics.GL.Tokens.GL_MINMAX_FORMAT_EXT')
--- * 'Graphics.GL.Tokens.GL_MINMAX_SINK' (alias: 'Graphics.GL.Tokens.GL_MINMAX_SINK_EXT')
---
--- === #GetPName# GetPName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ACCUM_ALPHA_BITS'
--- * 'Graphics.GL.Tokens.GL_ACCUM_BLUE_BITS'
--- * 'Graphics.GL.Tokens.GL_ACCUM_CLEAR_VALUE'
--- * 'Graphics.GL.Tokens.GL_ACCUM_GREEN_BITS'
--- * 'Graphics.GL.Tokens.GL_ACCUM_RED_BITS'
--- * 'Graphics.GL.Tokens.GL_ALIASED_LINE_WIDTH_RANGE'
--- * 'Graphics.GL.Tokens.GL_ALIASED_POINT_SIZE_RANGE'
--- * 'Graphics.GL.Tokens.GL_ALPHA_BIAS'
--- * 'Graphics.GL.Tokens.GL_ALPHA_BITS'
--- * 'Graphics.GL.Tokens.GL_ALPHA_SCALE'
--- * 'Graphics.GL.Tokens.GL_ALPHA_TEST' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_QCOM')
--- * 'Graphics.GL.Tokens.GL_ALPHA_TEST_FUNC' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_FUNC_QCOM')
--- * 'Graphics.GL.Tokens.GL_ALPHA_TEST_REF' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_REF_QCOM')
--- * 'Graphics.GL.Tokens.GL_ASYNC_DRAW_PIXELS_SGIX'
--- * 'Graphics.GL.Tokens.GL_ASYNC_HISTOGRAM_SGIX'
--- * 'Graphics.GL.Tokens.GL_ASYNC_MARKER_SGIX'
--- * 'Graphics.GL.Tokens.GL_ASYNC_READ_PIXELS_SGIX'
--- * 'Graphics.GL.Tokens.GL_ASYNC_TEX_IMAGE_SGIX'
--- * 'Graphics.GL.Tokens.GL_ATTRIB_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_AUTO_NORMAL'
--- * 'Graphics.GL.Tokens.GL_AUX_BUFFERS'
--- * 'Graphics.GL.Tokens.GL_BLEND'
--- * 'Graphics.GL.Tokens.GL_BLEND_COLOR_EXT'
--- * 'Graphics.GL.Tokens.GL_BLEND_DST'
--- * 'Graphics.GL.Tokens.GL_BLEND_EQUATION_EXT'
--- * 'Graphics.GL.Tokens.GL_BLEND_SRC'
--- * 'Graphics.GL.Tokens.GL_BLUE_BIAS'
--- * 'Graphics.GL.Tokens.GL_BLUE_BITS'
--- * 'Graphics.GL.Tokens.GL_BLUE_SCALE'
--- * 'Graphics.GL.Tokens.GL_CALLIGRAPHIC_FRAGMENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_CLIENT_ATTRIB_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE0'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE1'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE2'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE3'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE4'
--- * 'Graphics.GL.Tokens.GL_CLIP_PLANE5'
--- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY'
--- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_COUNT_EXT'
--- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_SIZE'
--- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_STRIDE'
--- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_TYPE'
--- * 'Graphics.GL.Tokens.GL_COLOR_CLEAR_VALUE'
--- * 'Graphics.GL.Tokens.GL_COLOR_LOGIC_OP'
--- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL'
--- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL_FACE'
--- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL_PARAMETER'
--- * 'Graphics.GL.Tokens.GL_COLOR_MATRIX_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_MATRIX_STACK_DEPTH_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_COLOR_WRITEMASK'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HINT_SGIX'
--- * 'Graphics.GL.Tokens.GL_CULL_FACE'
--- * 'Graphics.GL.Tokens.GL_CULL_FACE_MODE'
--- * 'Graphics.GL.Tokens.GL_CURRENT_COLOR'
--- * 'Graphics.GL.Tokens.GL_CURRENT_INDEX'
--- * 'Graphics.GL.Tokens.GL_CURRENT_NORMAL'
--- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_COLOR'
--- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_DISTANCE'
--- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_INDEX'
--- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_POSITION'
--- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_POSITION_VALID'
--- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_TEXTURE_COORDS'
--- * 'Graphics.GL.Tokens.GL_CURRENT_TEXTURE_COORDS'
--- * 'Graphics.GL.Tokens.GL_DEFORMATIONS_MASK_SGIX'
--- * 'Graphics.GL.Tokens.GL_DEPTH_BIAS'
--- * 'Graphics.GL.Tokens.GL_DEPTH_BITS'
--- * 'Graphics.GL.Tokens.GL_DEPTH_CLEAR_VALUE'
--- * 'Graphics.GL.Tokens.GL_DEPTH_FUNC'
--- * 'Graphics.GL.Tokens.GL_DEPTH_RANGE'
--- * 'Graphics.GL.Tokens.GL_DEPTH_SCALE'
--- * 'Graphics.GL.Tokens.GL_DEPTH_TEST'
--- * 'Graphics.GL.Tokens.GL_DEPTH_WRITEMASK'
--- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_2D_BINDING_SGIS'
--- * 'Graphics.GL.Tokens.GL_DEVICE_LUID_EXT'
--- * 'Graphics.GL.Tokens.GL_DEVICE_NODE_MASK_EXT'
--- * 'Graphics.GL.Tokens.GL_DEVICE_UUID_EXT'
--- * 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_SGIS'
--- * 'Graphics.GL.Tokens.GL_DITHER'
--- * 'Graphics.GL.Tokens.GL_DOUBLEBUFFER'
--- * 'Graphics.GL.Tokens.GL_DRAW_BUFFER' (alias: 'Graphics.GL.Tokens.GL_DRAW_BUFFER_EXT')
--- * 'Graphics.GL.Tokens.GL_DRIVER_UUID_EXT'
--- * 'Graphics.GL.Tokens.GL_EDGE_FLAG'
--- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY'
--- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_COUNT_EXT'
--- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_STRIDE'
--- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_SIZE'
--- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_TYPE'
--- * 'Graphics.GL.Tokens.GL_FOG'
--- * 'Graphics.GL.Tokens.GL_FOG_COLOR'
--- * 'Graphics.GL.Tokens.GL_FOG_DENSITY'
--- * 'Graphics.GL.Tokens.GL_FOG_END'
--- * 'Graphics.GL.Tokens.GL_FOG_FUNC_POINTS_SGIS'
--- * 'Graphics.GL.Tokens.GL_FOG_HINT'
--- * 'Graphics.GL.Tokens.GL_FOG_INDEX'
--- * 'Graphics.GL.Tokens.GL_FOG_MODE'
--- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_SGIX'
--- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_VALUE_SGIX'
--- * 'Graphics.GL.Tokens.GL_FOG_START'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHTING_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_FACTOR_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRONT_FACE'
--- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT_SGIS'
--- * 'Graphics.GL.Tokens.GL_GREEN_BIAS'
--- * 'Graphics.GL.Tokens.GL_GREEN_BITS'
--- * 'Graphics.GL.Tokens.GL_GREEN_SCALE'
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT'
--- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY'
--- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_COUNT_EXT'
--- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_STRIDE'
--- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_TYPE'
--- * 'Graphics.GL.Tokens.GL_INDEX_BITS'
--- * 'Graphics.GL.Tokens.GL_INDEX_CLEAR_VALUE'
--- * 'Graphics.GL.Tokens.GL_INDEX_LOGIC_OP' (alias: 'Graphics.GL.Tokens.GL_LOGIC_OP')
--- * 'Graphics.GL.Tokens.GL_INDEX_MODE'
--- * 'Graphics.GL.Tokens.GL_INDEX_OFFSET'
--- * 'Graphics.GL.Tokens.GL_INDEX_SHIFT'
--- * 'Graphics.GL.Tokens.GL_INDEX_WRITEMASK'
--- * 'Graphics.GL.Tokens.GL_INSTRUMENT_MEASUREMENTS_SGIX'
--- * 'Graphics.GL.Tokens.GL_INTERLACE_SGIX'
--- * 'Graphics.GL.Tokens.GL_IR_INSTRUMENT1_SGIX'
--- * 'Graphics.GL.Tokens.GL_LIGHT0'
--- * 'Graphics.GL.Tokens.GL_LIGHT1'
--- * 'Graphics.GL.Tokens.GL_LIGHT2'
--- * 'Graphics.GL.Tokens.GL_LIGHT3'
--- * 'Graphics.GL.Tokens.GL_LIGHT4'
--- * 'Graphics.GL.Tokens.GL_LIGHT5'
--- * 'Graphics.GL.Tokens.GL_LIGHT6'
--- * 'Graphics.GL.Tokens.GL_LIGHT7'
--- * 'Graphics.GL.Tokens.GL_LIGHTING'
--- * 'Graphics.GL.Tokens.GL_LIGHT_ENV_MODE_SGIX'
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_AMBIENT'
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL'
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_LOCAL_VIEWER'
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_TWO_SIDE'
--- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH'
--- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH_HINT'
--- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE'
--- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE_PATTERN'
--- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE_REPEAT'
--- * 'Graphics.GL.Tokens.GL_LINE_WIDTH'
--- * 'Graphics.GL.Tokens.GL_LINE_WIDTH_GRANULARITY' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_LINE_WIDTH_GRANULARITY')
--- * 'Graphics.GL.Tokens.GL_LINE_WIDTH_RANGE' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_LINE_WIDTH_RANGE')
--- * 'Graphics.GL.Tokens.GL_LIST_BASE'
--- * 'Graphics.GL.Tokens.GL_LIST_INDEX'
--- * 'Graphics.GL.Tokens.GL_LIST_MODE'
--- * 'Graphics.GL.Tokens.GL_LOGIC_OP_MODE'
--- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
--- * 'Graphics.GL.Tokens.GL_MAP1_GRID_DOMAIN'
--- * 'Graphics.GL.Tokens.GL_MAP1_GRID_SEGMENTS'
--- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
--- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
--- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
--- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_GRID_DOMAIN'
--- * 'Graphics.GL.Tokens.GL_MAP2_GRID_SEGMENTS'
--- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
--- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
--- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
--- * 'Graphics.GL.Tokens.GL_MAP_COLOR'
--- * 'Graphics.GL.Tokens.GL_MAP_STENCIL'
--- * 'Graphics.GL.Tokens.GL_MATRIX_MODE'
--- * 'Graphics.GL.Tokens.GL_MAX_3D_TEXTURE_SIZE_EXT'
--- * 'Graphics.GL.Tokens.GL_MAX_4D_TEXTURE_SIZE_SGIS'
--- * 'Graphics.GL.Tokens.GL_MAX_ACTIVE_LIGHTS_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_DRAW_PIXELS_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_HISTOGRAM_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_READ_PIXELS_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_TEX_IMAGE_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_ATTRIB_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_MAX_CLIPMAP_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_CLIP_DISTANCES' (alias: 'Graphics.GL.Tokens.GL_MAX_CLIP_PLANES')
--- * 'Graphics.GL.Tokens.GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI'
--- * 'Graphics.GL.Tokens.GL_MAX_EVAL_ORDER'
--- * 'Graphics.GL.Tokens.GL_MAX_FOG_FUNC_POINTS_SGIS'
--- * 'Graphics.GL.Tokens.GL_MAX_FRAGMENT_LIGHTS_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_FRAMEZOOM_FACTOR_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAX_LIGHTS'
--- * 'Graphics.GL.Tokens.GL_MAX_LIST_NESTING'
--- * 'Graphics.GL.Tokens.GL_MAX_MODELVIEW_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_MAX_NAME_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_MAX_PIXEL_MAP_TABLE'
--- * 'Graphics.GL.Tokens.GL_MAX_PROJECTION_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_MAX_TEXTURE_SIZE'
--- * 'Graphics.GL.Tokens.GL_MAX_TEXTURE_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_MAX_VIEWPORT_DIMS'
--- * 'Graphics.GL.Tokens.GL_MINMAX_EXT'
--- * 'Graphics.GL.Tokens.GL_MODELVIEW0_MATRIX_EXT' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW_MATRIX')
--- * 'Graphics.GL.Tokens.GL_MODELVIEW0_STACK_DEPTH_EXT' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW_STACK_DEPTH')
--- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_SGIS'
--- * 'Graphics.GL.Tokens.GL_NAME_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_NORMALIZE'
--- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY'
--- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_COUNT_EXT'
--- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_STRIDE'
--- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_TYPE'
--- * 'Graphics.GL.Tokens.GL_PACK_ALIGNMENT'
--- * 'Graphics.GL.Tokens.GL_PACK_CMYK_HINT_EXT'
--- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT_EXT'
--- * 'Graphics.GL.Tokens.GL_PACK_LSB_FIRST'
--- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PACK_ROW_LENGTH'
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES_EXT'
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_PIXELS'
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_ROWS'
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.GL.Tokens.GL_PACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PACK_SWAP_BYTES'
--- * 'Graphics.GL.Tokens.GL_PERSPECTIVE_CORRECTION_HINT'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S_SIZE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEXTURE_SGIS'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_MODE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_INCREMENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_SIZE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_HEIGHT_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_WIDTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_HEIGHT_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_WIDTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_SGIS'
--- * 'Graphics.GL.Tokens.GL_POINT_SIZE'
--- * 'Graphics.GL.Tokens.GL_POINT_SIZE_GRANULARITY' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_POINT_SIZE_GRANULARITY')
--- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_SGIS'
--- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_SGIS'
--- * 'Graphics.GL.Tokens.GL_POINT_SIZE_RANGE' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_POINT_SIZE_RANGE')
--- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH'
--- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH_HINT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_MODE'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_BIAS_EXT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FACTOR'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FILL'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_LINE'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_POINT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_UNITS'
--- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH'
--- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH_HINT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE_EXT'
--- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX'
--- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PROJECTION_MATRIX'
--- * 'Graphics.GL.Tokens.GL_PROJECTION_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_READ_BUFFER' (aliases: 'Graphics.GL.Tokens.GL_READ_BUFFER_EXT', 'Graphics.GL.Tokens.GL_READ_BUFFER_NV')
--- * 'Graphics.GL.Tokens.GL_RED_BIAS'
--- * 'Graphics.GL.Tokens.GL_RED_BITS'
--- * 'Graphics.GL.Tokens.GL_RED_SCALE'
--- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_EQUATION_SGIX'
--- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_SGIX'
--- * 'Graphics.GL.Tokens.GL_RENDER_MODE'
--- * 'Graphics.GL.Tokens.GL_RESCALE_NORMAL_EXT'
--- * 'Graphics.GL.Tokens.GL_RGBA_MODE'
--- * 'Graphics.GL.Tokens.GL_SAMPLES_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_MASK_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_ONE_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_BUFFERS_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_INVERT_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_VALUE_SGIS'
--- * 'Graphics.GL.Tokens.GL_SAMPLE_PATTERN_SGIS'
--- * 'Graphics.GL.Tokens.GL_SCISSOR_BOX'
--- * 'Graphics.GL.Tokens.GL_SCISSOR_TEST'
--- * 'Graphics.GL.Tokens.GL_SELECTION_BUFFER_SIZE'
--- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT'
--- * 'Graphics.GL.Tokens.GL_SHADE_MODEL'
--- * 'Graphics.GL.Tokens.GL_SHARED_TEXTURE_PALETTE_EXT'
--- * 'Graphics.GL.Tokens.GL_SPRITE_AXIS_SGIX'
--- * 'Graphics.GL.Tokens.GL_SPRITE_MODE_SGIX'
--- * 'Graphics.GL.Tokens.GL_SPRITE_SGIX'
--- * 'Graphics.GL.Tokens.GL_SPRITE_TRANSLATION_SGIX'
--- * 'Graphics.GL.Tokens.GL_STENCIL_BITS'
--- * 'Graphics.GL.Tokens.GL_STENCIL_CLEAR_VALUE'
--- * 'Graphics.GL.Tokens.GL_STENCIL_FAIL'
--- * 'Graphics.GL.Tokens.GL_STENCIL_FUNC'
--- * 'Graphics.GL.Tokens.GL_STENCIL_PASS_DEPTH_FAIL'
--- * 'Graphics.GL.Tokens.GL_STENCIL_PASS_DEPTH_PASS'
--- * 'Graphics.GL.Tokens.GL_STENCIL_REF'
--- * 'Graphics.GL.Tokens.GL_STENCIL_TEST'
--- * 'Graphics.GL.Tokens.GL_STENCIL_VALUE_MASK'
--- * 'Graphics.GL.Tokens.GL_STENCIL_WRITEMASK'
--- * 'Graphics.GL.Tokens.GL_STEREO'
--- * 'Graphics.GL.Tokens.GL_SUBPIXEL_BITS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_BINDING_EXT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_3D')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_BINDING_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_1D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_2D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_COUNT_EXT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_SIZE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_STRIDE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_TYPE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_Q'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_R'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_S'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_T'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MATRIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_STACK_DEPTH'
--- * 'Graphics.GL.Tokens.GL_UNPACK_ALIGNMENT'
--- * 'Graphics.GL.Tokens.GL_UNPACK_CMYK_HINT_EXT'
--- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT_EXT'
--- * 'Graphics.GL.Tokens.GL_UNPACK_LSB_FIRST'
--- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_SGIX'
--- * 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES_EXT'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SWAP_BYTES'
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY'
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_COUNT_EXT'
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_SIZE'
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_STRIDE'
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_TYPE'
--- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_HINT_SGIX'
--- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_SGIX'
--- * 'Graphics.GL.Tokens.GL_VIEWPORT'
--- * 'Graphics.GL.Tokens.GL_ZOOM_X'
--- * 'Graphics.GL.Tokens.GL_ZOOM_Y'
---
--- === #GetPixelMap# GetPixelMap
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S'
---
--- === #GetPointervPName# GetPointervPName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_COLOR_ARRAY_POINTER_EXT')
--- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_POINTER_EXT')
--- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_POINTER'
--- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_INDEX_ARRAY_POINTER_EXT')
--- * 'Graphics.GL.Tokens.GL_INSTRUMENT_BUFFER_POINTER_SGIX'
--- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_POINTER_EXT')
--- * 'Graphics.GL.Tokens.GL_SELECTION_BUFFER_POINTER'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_POINTER_EXT')
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_POINTER_EXT')
---
--- === #GetTextureParameter# GetTextureParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS'
--- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_LEVEL_SGIS'
--- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_MODE_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_TEXTURE_SELECT_SGIS'
--- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_SGIS'
--- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_SGIX'
--- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_SGIX'
--- * 'Graphics.GL.Tokens.GL_QUAD_TEXTURE_SELECT_SGIS'
--- * 'Graphics.GL.Tokens.GL_SHADOW_AMBIENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_4DSIZE_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_ALPHA_SIZE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BLUE_SIZE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR_NV')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_CENTER_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_FRAME_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_OFFSET_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_OPERATOR_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPONENTS' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_INTERNAL_FORMAT')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_DEPTH_EXT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_FILTER4_SIZE_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEQUAL_R_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GREEN_SIZE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_HEIGHT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_INTENSITY_SIZE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LEQUAL_R_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_R_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_S_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_T_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LUMINANCE_SIZE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAG_FILTER'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_R_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_S_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_T_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_FILTER'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_RED_SIZE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_RESIDENT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WIDTH'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_Q_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_EXT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_S'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_T'
---
--- === #HintMode# HintMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DONT_CARE'
--- * 'Graphics.GL.Tokens.GL_FASTEST'
--- * 'Graphics.GL.Tokens.GL_NICEST'
---
--- === #HintTarget# HintTarget
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_FRG_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_MEM_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_OBJ_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_WIN_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_ALWAYS_FAST_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_ALWAYS_SOFT_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_BACK_NORMALS_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_BINNING_CONTROL_HINT_QCOM'
--- * 'Graphics.GL.Tokens.GL_CLIP_FAR_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_CLIP_NEAR_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_CLIP_VOLUME_CLIPPING_HINT_EXT'
--- * 'Graphics.GL.Tokens.GL_CONSERVE_MEMORY_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HINT_SGIX'
--- * 'Graphics.GL.Tokens.GL_FOG_HINT'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT' (aliases: 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB', 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES')
--- * 'Graphics.GL.Tokens.GL_FULL_STIPPLE_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT' (alias: 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT_SGIS')
--- * 'Graphics.GL.Tokens.GL_LINE_QUALITY_HINT_SGIX'
--- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH_HINT'
--- * 'Graphics.GL.Tokens.GL_MATERIAL_SIDE_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_MAX_VERTEX_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_FILTER_HINT_NV'
--- * 'Graphics.GL.Tokens.GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_NATIVE_GRAPHICS_END_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_PACK_CMYK_HINT_EXT'
--- * 'Graphics.GL.Tokens.GL_PERSPECTIVE_CORRECTION_HINT'
--- * 'Graphics.GL.Tokens.GL_PHONG_HINT_WIN'
--- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH_HINT'
--- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH_HINT'
--- * 'Graphics.GL.Tokens.GL_PREFER_DOUBLEBUFFER_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_PROGRAM_BINARY_RETRIEVABLE_HINT'
--- * 'Graphics.GL.Tokens.GL_RECLAIM_MEMORY_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_SCALEBIAS_HINT_SGIX'
--- * 'Graphics.GL.Tokens.GL_STRICT_DEPTHFUNC_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_STRICT_LIGHTING_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_STRICT_SCISSOR_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSION_HINT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSION_HINT_ARB')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MULTI_BUFFER_HINT_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_STORAGE_HINT_APPLE'
--- * 'Graphics.GL.Tokens.GL_TRANSFORM_HINT_APPLE'
--- * 'Graphics.GL.Tokens.GL_UNPACK_CMYK_HINT_EXT'
--- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_STORAGE_HINT_APPLE'
--- * 'Graphics.GL.Tokens.GL_VERTEX_CONSISTENT_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_VERTEX_DATA_HINT_PGI'
--- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_HINT_SGIX'
--- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_SGIX'
--- * 'Graphics.GL.Tokens.GL_WIDE_LINE_HINT_PGI'
---
--- === #HistogramTargetEXT# HistogramTargetEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_HISTOGRAM' (alias: 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT')
--- * 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM' (alias: 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM_EXT')
---
--- === #IndexPointerType# IndexPointerType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_INT'
--- * 'Graphics.GL.Tokens.GL_SHORT'
---
--- === #InterleavedArrayFormat# InterleavedArrayFormat
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_C3F_V3F'
--- * 'Graphics.GL.Tokens.GL_C4F_N3F_V3F'
--- * 'Graphics.GL.Tokens.GL_C4UB_V2F'
--- * 'Graphics.GL.Tokens.GL_C4UB_V3F'
--- * 'Graphics.GL.Tokens.GL_N3F_V3F'
--- * 'Graphics.GL.Tokens.GL_T2F_C3F_V3F'
--- * 'Graphics.GL.Tokens.GL_T2F_C4F_N3F_V3F'
--- * 'Graphics.GL.Tokens.GL_T2F_C4UB_V3F'
--- * 'Graphics.GL.Tokens.GL_T2F_N3F_V3F'
--- * 'Graphics.GL.Tokens.GL_T2F_V3F'
--- * 'Graphics.GL.Tokens.GL_T4F_C4F_N3F_V4F'
--- * 'Graphics.GL.Tokens.GL_T4F_V4F'
--- * 'Graphics.GL.Tokens.GL_V2F'
--- * 'Graphics.GL.Tokens.GL_V3F'
---
--- === #InternalFormat# InternalFormat
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALPHA12'
--- * 'Graphics.GL.Tokens.GL_ALPHA16'
--- * 'Graphics.GL.Tokens.GL_ALPHA4'
--- * 'Graphics.GL.Tokens.GL_ALPHA8'
--- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT16_SGIX'
--- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT24_SGIX'
--- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32_SGIX'
--- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA12_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA16_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA4_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA8_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY12_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY16_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY4_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY8_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE12_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE16_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE4_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE8_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE_ALPHA4_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE_ALPHA8_SGIS'
--- * 'Graphics.GL.Tokens.GL_INTENSITY'
--- * 'Graphics.GL.Tokens.GL_INTENSITY12'
--- * 'Graphics.GL.Tokens.GL_INTENSITY16'
--- * 'Graphics.GL.Tokens.GL_INTENSITY4'
--- * 'Graphics.GL.Tokens.GL_INTENSITY8'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE12'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE12_ALPHA12'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE12_ALPHA4'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE16'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE16_ALPHA16'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE4'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE4_ALPHA4'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE6_ALPHA2'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE8'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE8_ALPHA8'
--- * 'Graphics.GL.Tokens.GL_QUAD_ALPHA4_SGIS'
--- * 'Graphics.GL.Tokens.GL_QUAD_ALPHA8_SGIS'
--- * 'Graphics.GL.Tokens.GL_QUAD_INTENSITY4_SGIS'
--- * 'Graphics.GL.Tokens.GL_QUAD_INTENSITY8_SGIS'
--- * 'Graphics.GL.Tokens.GL_QUAD_LUMINANCE4_SGIS'
--- * 'Graphics.GL.Tokens.GL_QUAD_LUMINANCE8_SGIS'
--- * 'Graphics.GL.Tokens.GL_R3_G3_B2'
--- * 'Graphics.GL.Tokens.GL_RGB10'
--- * 'Graphics.GL.Tokens.GL_RGB10_A2'
--- * 'Graphics.GL.Tokens.GL_RGB12'
--- * 'Graphics.GL.Tokens.GL_RGB16'
--- * 'Graphics.GL.Tokens.GL_RGB2_EXT'
--- * 'Graphics.GL.Tokens.GL_RGB4'
--- * 'Graphics.GL.Tokens.GL_RGB5'
--- * 'Graphics.GL.Tokens.GL_RGB5_A1'
--- * 'Graphics.GL.Tokens.GL_RGB8'
--- * 'Graphics.GL.Tokens.GL_RGBA12'
--- * 'Graphics.GL.Tokens.GL_RGBA16'
--- * 'Graphics.GL.Tokens.GL_RGBA2'
--- * 'Graphics.GL.Tokens.GL_RGBA4'
--- * 'Graphics.GL.Tokens.GL_RGBA8'
---
--- === #LightEnvModeSGIX# LightEnvModeSGIX
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ADD'
--- * 'Graphics.GL.Tokens.GL_MODULATE'
--- * 'Graphics.GL.Tokens.GL_REPLACE'
---
--- === #LightEnvParameterSGIX# LightEnvParameterSGIX
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LIGHT_ENV_MODE_SGIX'
---
--- === #LightModelColorControl# LightModelColorControl
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_SEPARATE_SPECULAR_COLOR' (alias: 'Graphics.GL.Tokens.GL_SEPARATE_SPECULAR_COLOR_EXT')
--- * 'Graphics.GL.Tokens.GL_SINGLE_COLOR' (alias: 'Graphics.GL.Tokens.GL_SINGLE_COLOR_EXT')
---
--- === #LightModelParameter# LightModelParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_AMBIENT'
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL' (alias: 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL_EXT')
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_LOCAL_VIEWER'
--- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_TWO_SIDE'
---
--- === #LightName# LightName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT1_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT2_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT3_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT4_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT5_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT6_SGIX'
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT7_SGIX'
--- * 'Graphics.GL.Tokens.GL_LIGHT0'
--- * 'Graphics.GL.Tokens.GL_LIGHT1'
--- * 'Graphics.GL.Tokens.GL_LIGHT2'
--- * 'Graphics.GL.Tokens.GL_LIGHT3'
--- * 'Graphics.GL.Tokens.GL_LIGHT4'
--- * 'Graphics.GL.Tokens.GL_LIGHT5'
--- * 'Graphics.GL.Tokens.GL_LIGHT6'
--- * 'Graphics.GL.Tokens.GL_LIGHT7'
---
--- === #LightParameter# LightParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_AMBIENT'
--- * 'Graphics.GL.Tokens.GL_CONSTANT_ATTENUATION'
--- * 'Graphics.GL.Tokens.GL_DIFFUSE'
--- * 'Graphics.GL.Tokens.GL_LINEAR_ATTENUATION'
--- * 'Graphics.GL.Tokens.GL_POSITION'
--- * 'Graphics.GL.Tokens.GL_QUADRATIC_ATTENUATION'
--- * 'Graphics.GL.Tokens.GL_SPECULAR'
--- * 'Graphics.GL.Tokens.GL_SPOT_CUTOFF'
--- * 'Graphics.GL.Tokens.GL_SPOT_DIRECTION'
--- * 'Graphics.GL.Tokens.GL_SPOT_EXPONENT'
---
--- === #ListMode# ListMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_COMPILE'
--- * 'Graphics.GL.Tokens.GL_COMPILE_AND_EXECUTE'
---
--- === #ListNameType# ListNameType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_2_BYTES'
--- * 'Graphics.GL.Tokens.GL_3_BYTES'
--- * 'Graphics.GL.Tokens.GL_4_BYTES'
--- * 'Graphics.GL.Tokens.GL_BYTE'
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_INT'
--- * 'Graphics.GL.Tokens.GL_SHORT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
---
--- === #ListParameterName# ListParameterName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LIST_PRIORITY_SGIX'
---
--- === #LogicOp# LogicOp
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_AND'
--- * 'Graphics.GL.Tokens.GL_AND_INVERTED'
--- * 'Graphics.GL.Tokens.GL_AND_REVERSE'
--- * 'Graphics.GL.Tokens.GL_CLEAR'
--- * 'Graphics.GL.Tokens.GL_COPY'
--- * 'Graphics.GL.Tokens.GL_COPY_INVERTED'
--- * 'Graphics.GL.Tokens.GL_EQUIV'
--- * 'Graphics.GL.Tokens.GL_INVERT'
--- * 'Graphics.GL.Tokens.GL_NAND'
--- * 'Graphics.GL.Tokens.GL_NOOP'
--- * 'Graphics.GL.Tokens.GL_NOR'
--- * 'Graphics.GL.Tokens.GL_OR'
--- * 'Graphics.GL.Tokens.GL_OR_INVERTED'
--- * 'Graphics.GL.Tokens.GL_OR_REVERSE'
--- * 'Graphics.GL.Tokens.GL_SET'
--- * 'Graphics.GL.Tokens.GL_XOR'
---
--- === #MapBufferUsageMask# MapBufferUsageMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CLIENT_STORAGE_BIT'
--- * 'Graphics.GL.Tokens.GL_DYNAMIC_STORAGE_BIT'
--- * 'Graphics.GL.Tokens.GL_MAP_COHERENT_BIT'
--- * 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_MAP_PERSISTENT_BIT'
--- * 'Graphics.GL.Tokens.GL_MAP_READ_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_READ_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT_EXT')
---
--- === #MapTarget# MapTarget
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_GEOMETRY_DEFORMATION_SGIX'
--- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
--- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
--- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
--- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
--- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
--- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
--- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
--- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
--- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
--- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_DEFORMATION_SGIX'
---
--- === #MapTextureFormatINTEL# MapTextureFormatINTEL
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LAYOUT_DEFAULT_INTEL'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_LINEAR_CPU_CACHED_INTEL'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_LINEAR_INTEL'
---
--- === #MaterialFace# MaterialFace
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_BACK'
--- * 'Graphics.GL.Tokens.GL_FRONT'
--- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
---
--- === #MaterialParameter# MaterialParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_AMBIENT'
--- * 'Graphics.GL.Tokens.GL_AMBIENT_AND_DIFFUSE'
--- * 'Graphics.GL.Tokens.GL_COLOR_INDEXES'
--- * 'Graphics.GL.Tokens.GL_DIFFUSE'
--- * 'Graphics.GL.Tokens.GL_EMISSION'
--- * 'Graphics.GL.Tokens.GL_SHININESS'
--- * 'Graphics.GL.Tokens.GL_SPECULAR'
---
--- === #MatrixMode# MatrixMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_MODELVIEW' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW0_EXT')
--- * 'Graphics.GL.Tokens.GL_PROJECTION'
--- * 'Graphics.GL.Tokens.GL_TEXTURE'
---
--- === #MemoryBarrierMask# MemoryBarrierMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALL_BARRIER_BITS' (alias: 'Graphics.GL.Tokens.GL_ALL_BARRIER_BITS_EXT')
--- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_BUFFER_UPDATE_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_BUFFER_UPDATE_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT'
--- * 'Graphics.GL.Tokens.GL_COMMAND_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_COMMAND_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_FRAMEBUFFER_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_PIXEL_BUFFER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_PIXEL_BUFFER_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_QUERY_BUFFER_BARRIER_BIT'
--- * 'Graphics.GL.Tokens.GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV'
--- * 'Graphics.GL.Tokens.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BARRIER_BIT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_FETCH_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_FETCH_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_UPDATE_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_UPDATE_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_UNIFORM_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_UNIFORM_BARRIER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT')
---
--- === #MemoryObjectParameterName# MemoryObjectParameterName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DEDICATED_MEMORY_OBJECT_EXT'
--- * 'Graphics.GL.Tokens.GL_PROTECTED_MEMORY_OBJECT_EXT'
---
--- === #MeshMode1# MeshMode1
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LINE'
--- * 'Graphics.GL.Tokens.GL_POINT'
---
--- === #MeshMode2# MeshMode2
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FILL'
--- * 'Graphics.GL.Tokens.GL_LINE'
--- * 'Graphics.GL.Tokens.GL_POINT'
---
--- === #MinmaxTargetEXT# MinmaxTargetEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_MINMAX' (alias: 'Graphics.GL.Tokens.GL_MINMAX_EXT')
---
--- === #NormalPointerType# NormalPointerType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_BYTE'
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_INT'
--- * 'Graphics.GL.Tokens.GL_SHORT'
---
--- === #OcclusionQueryEventMaskAMD# OcclusionQueryEventMaskAMD
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD'
--- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD'
--- * 'Graphics.GL.Tokens.GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD'
--- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD'
--- * 'Graphics.GL.Tokens.GL_QUERY_ALL_EVENT_BITS_AMD'
---
--- === #PixelCopyType# PixelCopyType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_COLOR' (alias: 'Graphics.GL.Tokens.GL_COLOR_EXT')
--- * 'Graphics.GL.Tokens.GL_DEPTH' (alias: 'Graphics.GL.Tokens.GL_DEPTH_EXT')
--- * 'Graphics.GL.Tokens.GL_STENCIL' (alias: 'Graphics.GL.Tokens.GL_STENCIL_EXT')
---
--- === #PixelFormat# PixelFormat
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ABGR_EXT'
--- * 'Graphics.GL.Tokens.GL_ALPHA'
--- * 'Graphics.GL.Tokens.GL_BLUE'
--- * 'Graphics.GL.Tokens.GL_CMYKA_EXT'
--- * 'Graphics.GL.Tokens.GL_CMYK_EXT'
--- * 'Graphics.GL.Tokens.GL_COLOR_INDEX'
--- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT'
--- * 'Graphics.GL.Tokens.GL_GREEN'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE_ALPHA'
--- * 'Graphics.GL.Tokens.GL_RED' (alias: 'Graphics.GL.Tokens.GL_RED_EXT')
--- * 'Graphics.GL.Tokens.GL_RGB'
--- * 'Graphics.GL.Tokens.GL_RGBA'
--- * 'Graphics.GL.Tokens.GL_STENCIL_INDEX'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
--- * 'Graphics.GL.Tokens.GL_YCRCB_422_SGIX'
--- * 'Graphics.GL.Tokens.GL_YCRCB_444_SGIX'
---
--- === #PixelMap# PixelMap
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R'
--- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S'
---
--- === #PixelStoreParameter# PixelStoreParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_PACK_ALIGNMENT'
--- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT_EXT')
--- * 'Graphics.GL.Tokens.GL_PACK_LSB_FIRST'
--- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_OML'
--- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PACK_ROW_LENGTH'
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES' (alias: 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES_EXT')
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_PIXELS'
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_ROWS'
--- * 'Graphics.GL.Tokens.GL_PACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.GL.Tokens.GL_PACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PACK_SWAP_BYTES'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_SIZE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_HEIGHT_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_WIDTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_HEIGHT_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_WIDTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_UNPACK_ALIGNMENT'
--- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT_EXT')
--- * 'Graphics.GL.Tokens.GL_UNPACK_LSB_FIRST'
--- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_OML'
--- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_SGIX'
--- * 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH' (alias: 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH_EXT')
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES_EXT')
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS_EXT')
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS_EXT')
--- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.GL.Tokens.GL_UNPACK_SWAP_BYTES'
---
--- === #PixelStoreResampleMode# PixelStoreResampleMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_RESAMPLE_DECIMATE_SGIX'
--- * 'Graphics.GL.Tokens.GL_RESAMPLE_REPLICATE_SGIX'
--- * 'Graphics.GL.Tokens.GL_RESAMPLE_ZERO_FILL_SGIX'
---
--- === #PixelStoreSubsampleRate# PixelStoreSubsampleRate
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_2424_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_4242_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_4444_SGIX'
---
--- === #PixelTexGenMode# PixelTexGenMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LUMINANCE'
--- * 'Graphics.GL.Tokens.GL_LUMINANCE_ALPHA'
--- * 'Graphics.GL.Tokens.GL_NONE'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX'
--- * 'Graphics.GL.Tokens.GL_RGB'
--- * 'Graphics.GL.Tokens.GL_RGBA'
---
--- === #PixelTexGenParameterNameSGIS# PixelTexGenParameterNameSGIS
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS'
--- * 'Graphics.GL.Tokens.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'
---
--- === #PixelTransferParameter# PixelTransferParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALPHA_BIAS'
--- * 'Graphics.GL.Tokens.GL_ALPHA_SCALE'
--- * 'Graphics.GL.Tokens.GL_BLUE_BIAS'
--- * 'Graphics.GL.Tokens.GL_BLUE_SCALE'
--- * 'Graphics.GL.Tokens.GL_DEPTH_BIAS'
--- * 'Graphics.GL.Tokens.GL_DEPTH_SCALE'
--- * 'Graphics.GL.Tokens.GL_GREEN_BIAS'
--- * 'Graphics.GL.Tokens.GL_GREEN_SCALE'
--- * 'Graphics.GL.Tokens.GL_INDEX_OFFSET'
--- * 'Graphics.GL.Tokens.GL_INDEX_SHIFT'
--- * 'Graphics.GL.Tokens.GL_MAP_COLOR'
--- * 'Graphics.GL.Tokens.GL_MAP_STENCIL'
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE_SGI')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS_EXT')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE_EXT')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS_EXT')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE_EXT')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS_EXT')
--- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE_EXT')
--- * 'Graphics.GL.Tokens.GL_RED_BIAS'
--- * 'Graphics.GL.Tokens.GL_RED_SCALE'
---
--- === #PixelType# PixelType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_BITMAP'
--- * 'Graphics.GL.Tokens.GL_BYTE'
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_INT'
--- * 'Graphics.GL.Tokens.GL_SHORT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE_3_3_2' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE_3_3_2_EXT')
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10_10_10_2' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10_10_10_2_EXT')
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_8_8_8_8' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_INT_8_8_8_8_EXT')
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_4_4_4_4' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_4_4_4_4_EXT')
--- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_5_5_5_1' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_5_5_5_1_EXT')
---
--- === #PointParameterNameSGIS# PointParameterNameSGIS
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_EXT' (aliases: 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_SGIS', 'Graphics.GL.Tokens.GL_POINT_DISTANCE_ATTENUATION', 'Graphics.GL.Tokens.GL_POINT_DISTANCE_ATTENUATION_ARB')
--- * 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE' (aliases: 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_ARB', 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_EXT', 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_SGIS')
--- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX' (aliases: 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_ARB', 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_EXT', 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_SGIS')
--- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN' (aliases: 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_ARB', 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_EXT', 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_SGIS')
---
--- === #PolygonMode# PolygonMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FILL'
--- * 'Graphics.GL.Tokens.GL_LINE'
--- * 'Graphics.GL.Tokens.GL_POINT'
---
--- === #PrimitiveType# PrimitiveType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LINES'
--- * 'Graphics.GL.Tokens.GL_LINES_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_LINES_ADJACENCY_EXT')
--- * 'Graphics.GL.Tokens.GL_LINE_LOOP'
--- * 'Graphics.GL.Tokens.GL_LINE_STRIP'
--- * 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY_EXT')
--- * 'Graphics.GL.Tokens.GL_PATCHES' (alias: 'Graphics.GL.Tokens.GL_PATCHES_EXT')
--- * 'Graphics.GL.Tokens.GL_POINTS'
--- * 'Graphics.GL.Tokens.GL_POLYGON'
--- * 'Graphics.GL.Tokens.GL_QUADS' (alias: 'Graphics.GL.Tokens.GL_QUADS_EXT')
--- * 'Graphics.GL.Tokens.GL_QUAD_STRIP'
--- * 'Graphics.GL.Tokens.GL_TRIANGLES'
--- * 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY_EXT')
--- * 'Graphics.GL.Tokens.GL_TRIANGLE_FAN'
--- * 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP'
--- * 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY_EXT')
---
--- === #ReadBufferMode# ReadBufferMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_AUX0'
--- * 'Graphics.GL.Tokens.GL_AUX1'
--- * 'Graphics.GL.Tokens.GL_AUX2'
--- * 'Graphics.GL.Tokens.GL_AUX3'
--- * 'Graphics.GL.Tokens.GL_BACK'
--- * 'Graphics.GL.Tokens.GL_BACK_LEFT'
--- * 'Graphics.GL.Tokens.GL_BACK_RIGHT'
--- * 'Graphics.GL.Tokens.GL_FRONT'
--- * 'Graphics.GL.Tokens.GL_FRONT_LEFT'
--- * 'Graphics.GL.Tokens.GL_FRONT_RIGHT'
--- * 'Graphics.GL.Tokens.GL_LEFT'
--- * 'Graphics.GL.Tokens.GL_RIGHT'
---
--- === #RenderingMode# RenderingMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FEEDBACK'
--- * 'Graphics.GL.Tokens.GL_RENDER'
--- * 'Graphics.GL.Tokens.GL_SELECT'
---
--- === #SamplePatternSGIS# SamplePatternSGIS
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_1PASS_EXT' (alias: 'Graphics.GL.Tokens.GL_1PASS_SGIS')
--- * 'Graphics.GL.Tokens.GL_2PASS_0_EXT' (alias: 'Graphics.GL.Tokens.GL_2PASS_0_SGIS')
--- * 'Graphics.GL.Tokens.GL_2PASS_1_EXT' (alias: 'Graphics.GL.Tokens.GL_2PASS_1_SGIS')
--- * 'Graphics.GL.Tokens.GL_4PASS_0_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_0_SGIS')
--- * 'Graphics.GL.Tokens.GL_4PASS_1_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_1_SGIS')
--- * 'Graphics.GL.Tokens.GL_4PASS_2_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_2_SGIS')
--- * 'Graphics.GL.Tokens.GL_4PASS_3_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_3_SGIS')
---
--- === #SemaphoreParameterName# SemaphoreParameterName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_D3D12_FENCE_VALUE_EXT'
---
--- === #SeparableTargetEXT# SeparableTargetEXT
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D' (alias: 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT')
---
--- === #ShadingModel# ShadingModel
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FLAT'
--- * 'Graphics.GL.Tokens.GL_SMOOTH'
---
--- === #StencilFaceDirection# StencilFaceDirection
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FRONT'
--- * 'Graphics.GL.Tokens.GL_BACK'
--- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
---
--- === #StencilFunction# StencilFunction
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ALWAYS'
--- * 'Graphics.GL.Tokens.GL_EQUAL'
--- * 'Graphics.GL.Tokens.GL_GEQUAL'
--- * 'Graphics.GL.Tokens.GL_GREATER'
--- * 'Graphics.GL.Tokens.GL_LEQUAL'
--- * 'Graphics.GL.Tokens.GL_LESS'
--- * 'Graphics.GL.Tokens.GL_NEVER'
--- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
---
--- === #StencilOp# StencilOp
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DECR'
--- * 'Graphics.GL.Tokens.GL_INCR'
--- * 'Graphics.GL.Tokens.GL_INVERT'
--- * 'Graphics.GL.Tokens.GL_KEEP'
--- * 'Graphics.GL.Tokens.GL_REPLACE'
--- * 'Graphics.GL.Tokens.GL_ZERO'
---
--- === #StringName# StringName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_EXTENSIONS'
--- * 'Graphics.GL.Tokens.GL_RENDERER'
--- * 'Graphics.GL.Tokens.GL_VENDOR'
--- * 'Graphics.GL.Tokens.GL_VERSION'
--- * 'Graphics.GL.Tokens.GL_SHADING_LANGUAGE_VERSION'
---
--- === #TexCoordPointerType# TexCoordPointerType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_INT'
--- * 'Graphics.GL.Tokens.GL_SHORT'
---
--- === #TextureCoordName# TextureCoordName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_S'
--- * 'Graphics.GL.Tokens.GL_T'
--- * 'Graphics.GL.Tokens.GL_R'
--- * 'Graphics.GL.Tokens.GL_Q'
---
--- === #TextureEnvMode# TextureEnvMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_ADD'
--- * 'Graphics.GL.Tokens.GL_BLEND'
--- * 'Graphics.GL.Tokens.GL_DECAL'
--- * 'Graphics.GL.Tokens.GL_MODULATE'
--- * 'Graphics.GL.Tokens.GL_REPLACE_EXT'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_BIAS_SGIX'
---
--- === #TextureEnvParameter# TextureEnvParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_COLOR'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_MODE'
---
--- === #TextureEnvTarget# TextureEnvTarget
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV'
---
--- === #TextureFilterFuncSGIS# TextureFilterFuncSGIS
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
---
--- === #TextureGenMode# TextureGenMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_EYE_DISTANCE_TO_LINE_SGIS'
--- * 'Graphics.GL.Tokens.GL_EYE_DISTANCE_TO_POINT_SGIS'
--- * 'Graphics.GL.Tokens.GL_EYE_LINEAR'
--- * 'Graphics.GL.Tokens.GL_OBJECT_DISTANCE_TO_LINE_SGIS'
--- * 'Graphics.GL.Tokens.GL_OBJECT_DISTANCE_TO_POINT_SGIS'
--- * 'Graphics.GL.Tokens.GL_OBJECT_LINEAR'
--- * 'Graphics.GL.Tokens.GL_SPHERE_MAP'
---
--- === #TextureGenParameter# TextureGenParameter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_EYE_LINE_SGIS'
--- * 'Graphics.GL.Tokens.GL_EYE_PLANE'
--- * 'Graphics.GL.Tokens.GL_EYE_POINT_SGIS'
--- * 'Graphics.GL.Tokens.GL_OBJECT_LINE_SGIS'
--- * 'Graphics.GL.Tokens.GL_OBJECT_PLANE'
--- * 'Graphics.GL.Tokens.GL_OBJECT_POINT_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_MODE'
---
--- === #TextureLayout# TextureLayout
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_LAYOUT_GENERAL_EXT'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_COLOR_ATTACHMENT_EXT'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_SHADER_READ_ONLY_EXT'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_TRANSFER_SRC_EXT'
--- * 'Graphics.GL.Tokens.GL_LAYOUT_TRANSFER_DST_EXT'
---
--- === #TextureMagFilter# TextureMagFilter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR'
--- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_ALPHA_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_COLOR_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_ALPHA_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_COLOR_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_SGIS'
--- * 'Graphics.GL.Tokens.GL_NEAREST'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_CEILING_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_ROUND_SGIX'
---
--- === #TextureMinFilter# TextureMinFilter
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
--- * 'Graphics.GL.Tokens.GL_LINEAR'
--- * 'Graphics.GL.Tokens.GL_LINEAR_CLIPMAP_LINEAR_SGIX'
--- * 'Graphics.GL.Tokens.GL_LINEAR_CLIPMAP_NEAREST_SGIX'
--- * 'Graphics.GL.Tokens.GL_LINEAR_MIPMAP_LINEAR'
--- * 'Graphics.GL.Tokens.GL_LINEAR_MIPMAP_NEAREST'
--- * 'Graphics.GL.Tokens.GL_NEAREST'
--- * 'Graphics.GL.Tokens.GL_NEAREST_CLIPMAP_LINEAR_SGIX'
--- * 'Graphics.GL.Tokens.GL_NEAREST_CLIPMAP_NEAREST_SGIX'
--- * 'Graphics.GL.Tokens.GL_NEAREST_MIPMAP_LINEAR'
--- * 'Graphics.GL.Tokens.GL_NEAREST_MIPMAP_NEAREST'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_CEILING_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
--- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_ROUND_SGIX'
---
--- === #TextureParameterName# TextureParameterName
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_LEVEL_SGIS'
--- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_MODE_SGIS'
--- * 'Graphics.GL.Tokens.GL_DUAL_TEXTURE_SELECT_SGIS'
--- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP' (alias: 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_SGIS')
--- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_SGIX'
--- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_SGIX'
--- * 'Graphics.GL.Tokens.GL_QUAD_TEXTURE_SELECT_SGIS'
--- * 'Graphics.GL.Tokens.GL_SHADOW_AMBIENT_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_CENTER_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_FRAME_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_OFFSET_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_R_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_S_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_T_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAG_FILTER'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_R_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_S_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_T_SGIX'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_FILTER'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY_EXT')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_Q_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_OES')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_S'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_T'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_MODE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_FUNC'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_R'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_G'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_B'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_A'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_RGBA'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_TILING_EXT'
--- * 'Graphics.GL.Tokens.GL_DEPTH_STENCIL_TEXTURE_MODE'
---
--- === #TextureTarget# TextureTarget
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_2D_SGIS'
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D_EXT')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D_ARRAY' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D_ARRAY_EXT')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_EXT')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_ARRAY' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_ARRAY_EXT')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_MULTISAMPLE'
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY'
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_3D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_3D_EXT')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_4D_SGIS'
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP' (aliases: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_ARB', 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_EXT')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_ARRAY' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB')
--- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_RECTANGLE' (aliases: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_RECTANGLE_ARB', 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_RECTANGLE_NV')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_3D' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_3D_OES')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_RECTANGLE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_POSITIVE_X'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_NEGATIVE_X'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_POSITIVE_Y'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_POSITIVE_Z'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY_ARB', 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY_OES')
--- * 'Graphics.GL.Tokens.GL_TEXTURE_1D_ARRAY'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_2D_ARRAY'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_2D_MULTISAMPLE'
--- * 'Graphics.GL.Tokens.GL_TEXTURE_2D_MULTISAMPLE_ARRAY'
---
--- === #TextureWrapMode# TextureWrapMode
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_CLAMP'
--- * 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER' (aliases: 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_ARB', 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_NV', 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_SGIS')
--- * 'Graphics.GL.Tokens.GL_CLAMP_TO_EDGE' (alias: 'Graphics.GL.Tokens.GL_CLAMP_TO_EDGE_SGIS')
--- * 'Graphics.GL.Tokens.GL_REPEAT'
---
--- === #UseProgramStageMask# UseProgramStageMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.GL.Tokens.GL_VERTEX_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_VERTEX_SHADER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER_BIT_EXT')
--- * 'Graphics.GL.Tokens.GL_COMPUTE_SHADER_BIT'
--- * 'Graphics.GL.Tokens.GL_ALL_SHADER_BITS' (alias: 'Graphics.GL.Tokens.GL_ALL_SHADER_BITS_EXT')
---
--- === #VertexPointerType# VertexPointerType
--- One of the following values:
---
--- * 'Graphics.GL.Tokens.GL_DOUBLE'
--- * 'Graphics.GL.Tokens.GL_FLOAT'
--- * 'Graphics.GL.Tokens.GL_INT'
--- * 'Graphics.GL.Tokens.GL_SHORT'
+-- === #AtomicCounterBufferPName# AtomicCounterBufferPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_BINDING'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER'
+--
+-- === #AttribMask# AttribMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_ALL_ATTRIB_BITS'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_BIT'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_ENABLE_BIT'
+-- * 'Graphics.GL.Tokens.GL_EVAL_BIT'
+-- * 'Graphics.GL.Tokens.GL_FOG_BIT'
+-- * 'Graphics.GL.Tokens.GL_HINT_BIT'
+-- * 'Graphics.GL.Tokens.GL_LIGHTING_BIT'
+-- * 'Graphics.GL.Tokens.GL_LINE_BIT'
+-- * 'Graphics.GL.Tokens.GL_LIST_BIT'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT' (aliases: 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_3DFX', 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_ARB', 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MODE_BIT'
+-- * 'Graphics.GL.Tokens.GL_POINT_BIT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_BIT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE_BIT'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_BIT'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BIT'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_BIT'
+-- * 'Graphics.GL.Tokens.GL_VIEWPORT_BIT'
+--
+-- === #AttributeType# AttributeType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLOAT_VEC2' (alias: 'Graphics.GL.Tokens.GL_FLOAT_VEC2_ARB')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_VEC3' (alias: 'Graphics.GL.Tokens.GL_FLOAT_VEC3_ARB')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_VEC4' (alias: 'Graphics.GL.Tokens.GL_FLOAT_VEC4_ARB')
+-- * 'Graphics.GL.Tokens.GL_INT_VEC2' (alias: 'Graphics.GL.Tokens.GL_INT_VEC2_ARB')
+-- * 'Graphics.GL.Tokens.GL_INT_VEC3' (alias: 'Graphics.GL.Tokens.GL_INT_VEC3_ARB')
+-- * 'Graphics.GL.Tokens.GL_INT_VEC4' (alias: 'Graphics.GL.Tokens.GL_INT_VEC4_ARB')
+-- * 'Graphics.GL.Tokens.GL_BOOL' (alias: 'Graphics.GL.Tokens.GL_BOOL_ARB')
+-- * 'Graphics.GL.Tokens.GL_BOOL_VEC2' (alias: 'Graphics.GL.Tokens.GL_BOOL_VEC2_ARB')
+-- * 'Graphics.GL.Tokens.GL_BOOL_VEC3' (alias: 'Graphics.GL.Tokens.GL_BOOL_VEC3_ARB')
+-- * 'Graphics.GL.Tokens.GL_BOOL_VEC4' (alias: 'Graphics.GL.Tokens.GL_BOOL_VEC4_ARB')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT2' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT2_ARB')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT3' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT3_ARB')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT4' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT4_ARB')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_1D' (alias: 'Graphics.GL.Tokens.GL_SAMPLER_1D_ARB')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_2D' (alias: 'Graphics.GL.Tokens.GL_SAMPLER_2D_ARB')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_3D' (aliases: 'Graphics.GL.Tokens.GL_SAMPLER_3D_ARB', 'Graphics.GL.Tokens.GL_SAMPLER_3D_OES')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_CUBE' (alias: 'Graphics.GL.Tokens.GL_SAMPLER_CUBE_ARB')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_1D_SHADOW' (alias: 'Graphics.GL.Tokens.GL_SAMPLER_1D_SHADOW_ARB')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_2D_SHADOW' (aliases: 'Graphics.GL.Tokens.GL_SAMPLER_2D_SHADOW_ARB', 'Graphics.GL.Tokens.GL_SAMPLER_2D_SHADOW_EXT')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_2D_RECT' (alias: 'Graphics.GL.Tokens.GL_SAMPLER_2D_RECT_ARB')
+-- * 'Graphics.GL.Tokens.GL_SAMPLER_2D_RECT_SHADOW' (alias: 'Graphics.GL.Tokens.GL_SAMPLER_2D_RECT_SHADOW_ARB')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT2x3' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT2x3_NV')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT2x4' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT2x4_NV')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT3x2' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT3x2_NV')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT3x4' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT3x4_NV')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT4x2' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT4x2_NV')
+-- * 'Graphics.GL.Tokens.GL_FLOAT_MAT4x3' (alias: 'Graphics.GL.Tokens.GL_FLOAT_MAT4x3_NV')
+--
+-- === #BindTransformFeedbackTarget# BindTransformFeedbackTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK'
+--
+-- === #BlendEquationModeEXT# BlendEquationModeEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA_MAX_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_MIN_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_MAX_EXT'
+-- * 'Graphics.GL.Tokens.GL_MIN_EXT'
+-- * 'Graphics.GL.Tokens.GL_FUNC_ADD' (alias: 'Graphics.GL.Tokens.GL_FUNC_ADD_EXT')
+-- * 'Graphics.GL.Tokens.GL_FUNC_REVERSE_SUBTRACT' (alias: 'Graphics.GL.Tokens.GL_FUNC_REVERSE_SUBTRACT_EXT')
+-- * 'Graphics.GL.Tokens.GL_FUNC_SUBTRACT' (alias: 'Graphics.GL.Tokens.GL_FUNC_SUBTRACT_EXT')
+--
+-- === #BlendingFactor# BlendingFactor
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ZERO'
+-- * 'Graphics.GL.Tokens.GL_ONE'
+-- * 'Graphics.GL.Tokens.GL_SRC_COLOR'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_COLOR' (alias: 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_COLOR')
+-- * 'Graphics.GL.Tokens.GL_DST_COLOR'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_COLOR'
+-- * 'Graphics.GL.Tokens.GL_SRC_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA' (alias: 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA')
+-- * 'Graphics.GL.Tokens.GL_DST_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_COLOR'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_COLOR'
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_SRC_ALPHA_SATURATE'
+-- * 'Graphics.GL.Tokens.GL_SRC1_COLOR'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_COLOR' (alias: 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_COLOR')
+-- * 'Graphics.GL.Tokens.GL_SRC1_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA' (alias: 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA')
+--
+-- === #BlitFramebufferFilter# BlitFramebufferFilter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_LINEAR'
+--
+-- === #Boolean# Boolean
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FALSE'
+-- * 'Graphics.GL.Tokens.GL_TRUE'
+--
+-- === #Buffer# Buffer
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR'
+-- * 'Graphics.GL.Tokens.GL_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_STENCIL'
+--
+-- === #BufferAccessARB# BufferAccessARB
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_READ_ONLY'
+-- * 'Graphics.GL.Tokens.GL_WRITE_ONLY'
+-- * 'Graphics.GL.Tokens.GL_READ_WRITE'
+--
+-- === #BufferAccessMask# BufferAccessMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MAP_COHERENT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_COHERENT_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_PERSISTENT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_PERSISTENT_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_READ_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_READ_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT_EXT')
+--
+-- === #BufferBitQCOM# BufferBitQCOM
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT7_QCOM'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT6_QCOM'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT5_QCOM'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT4_QCOM'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT3_QCOM'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT2_QCOM'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT1_QCOM'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BUFFER_BIT0_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT7_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT6_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT5_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT4_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT3_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT2_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT1_QCOM'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT0_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT7_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT6_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT5_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT4_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT3_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT2_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT1_QCOM'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT0_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT7_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT6_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT5_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT4_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT3_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT2_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT1_QCOM'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT0_QCOM'
+--
+-- === #BufferStorageTarget# BufferStorageTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ARRAY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_COPY_READ_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_COPY_WRITE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_DISPATCH_INDIRECT_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_DRAW_INDIRECT_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_PACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_UNPACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_QUERY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BUFFER'
+--
+-- === #BufferTargetARB# BufferTargetARB
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ARRAY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_COPY_READ_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_COPY_WRITE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_DISPATCH_INDIRECT_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_DRAW_INDIRECT_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_PACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_UNPACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_QUERY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BUFFER'
+--
+-- === #BufferUsageARB# BufferUsageARB
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_STREAM_DRAW'
+-- * 'Graphics.GL.Tokens.GL_STREAM_READ'
+-- * 'Graphics.GL.Tokens.GL_STREAM_COPY'
+-- * 'Graphics.GL.Tokens.GL_STATIC_DRAW'
+-- * 'Graphics.GL.Tokens.GL_STATIC_READ'
+-- * 'Graphics.GL.Tokens.GL_STATIC_COPY'
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_DRAW'
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_READ'
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_COPY'
+--
+-- === #CheckFramebufferStatusTarget# CheckFramebufferStatusTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DRAW_FRAMEBUFFER'
+-- * 'Graphics.GL.Tokens.GL_READ_FRAMEBUFFER'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER'
+--
+-- === #ClearBufferMask# ClearBufferMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_COVERAGE_BUFFER_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT'
+--
+-- === #ClientAttribMask# ClientAttribMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLIENT_ALL_ATTRIB_BITS'
+-- * 'Graphics.GL.Tokens.GL_CLIENT_PIXEL_STORE_BIT'
+-- * 'Graphics.GL.Tokens.GL_CLIENT_VERTEX_ARRAY_BIT'
+--
+-- === #ClipControlDepth# ClipControlDepth
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NEGATIVE_ONE_TO_ONE'
+-- * 'Graphics.GL.Tokens.GL_ZERO_TO_ONE'
+--
+-- === #ClipControlOrigin# ClipControlOrigin
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LOWER_LEFT'
+-- * 'Graphics.GL.Tokens.GL_UPPER_LEFT'
+--
+-- === #ClipPlaneName# ClipPlaneName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE0' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE0')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE1' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE1')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE2' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE2')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE3' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE3')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE4' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE4')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE5' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE5')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE6'
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE7'
+--
+-- === #ColorBuffer# ColorBuffer
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NONE' (alias: 'Graphics.GL.Tokens.GL_NONE')
+-- * 'Graphics.GL.Tokens.GL_FRONT_LEFT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_BACK_LEFT'
+-- * 'Graphics.GL.Tokens.GL_BACK_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_LEFT'
+-- * 'Graphics.GL.Tokens.GL_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+-- * 'Graphics.GL.Tokens.GL_NONE' (alias: 'Graphics.GL.Tokens.GL_NONE')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT0'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT1'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT2'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT3'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT4'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT5'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT6'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT7'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT8'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT9'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT10'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT11'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT12'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT13'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT14'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT15'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT16'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT17'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT18'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT19'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT20'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT21'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT22'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT23'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT24'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT25'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT26'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT27'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT28'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT29'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT30'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT31'
+--
+-- === #ColorMaterialFace# ColorMaterialFace
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+--
+-- === #ColorMaterialParameter# ColorMaterialParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_AMBIENT_AND_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_EMISSION'
+-- * 'Graphics.GL.Tokens.GL_SPECULAR'
+--
+-- === #ColorPointerType# ColorPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+--
+-- === #ColorTableParameterPNameSGI# ColorTableParameterPNameSGI
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE_SGI')
+--
+-- === #ColorTableTarget# ColorTableTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE'
+--
+-- === #ColorTableTargetSGI# ColorTableTargetSGI
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
+--
+-- === #ContextFlagMask# ContextFlagMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_DEBUG_BIT' (alias: 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_DEBUG_BIT_KHR')
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT'
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT' (alias: 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB')
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_NO_ERROR_BIT' (alias: 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR')
+--
+-- === #ContextProfileMask# ContextProfileMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_COMPATIBILITY_PROFILE_BIT'
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_CORE_PROFILE_BIT'
+--
+-- === #ConvolutionBorderModeEXT# ConvolutionBorderModeEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_REDUCE' (alias: 'Graphics.GL.Tokens.GL_REDUCE_EXT')
+--
+-- === #ConvolutionParameterEXT# ConvolutionParameterEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE_EXT')
+--
+-- === #ConvolutionTarget# ConvolutionTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D'
+--
+-- === #ConvolutionTargetEXT# ConvolutionTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT')
+--
+-- === #CopyBufferSubDataTarget# CopyBufferSubDataTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ARRAY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_COPY_READ_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_COPY_WRITE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_DISPATCH_INDIRECT_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_DRAW_INDIRECT_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_PACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_UNPACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_QUERY_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BUFFER'
+--
+-- === #CullFaceMode# CullFaceMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+--
+-- === #DataType# DataType
+-- There are no values defined for this enumeration group.
+--
+--
+-- === #DebugSeverity# DebugSeverity
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SEVERITY_LOW'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SEVERITY_MEDIUM'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SEVERITY_HIGH'
+-- * 'Graphics.GL.Tokens.GL_DONT_CARE'
+--
+-- === #DebugSource# DebugSource
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SOURCE_API'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SOURCE_WINDOW_SYSTEM'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SOURCE_SHADER_COMPILER'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SOURCE_THIRD_PARTY'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SOURCE_APPLICATION'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_SOURCE_OTHER'
+-- * 'Graphics.GL.Tokens.GL_DONT_CARE'
+--
+-- === #DebugType# DebugType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_ERROR'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_PORTABILITY'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_PERFORMANCE'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_MARKER'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_PUSH_GROUP'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_POP_GROUP'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_TYPE_OTHER'
+-- * 'Graphics.GL.Tokens.GL_DONT_CARE'
+--
+-- === #DepthFunction# DepthFunction
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALWAYS'
+-- * 'Graphics.GL.Tokens.GL_EQUAL'
+-- * 'Graphics.GL.Tokens.GL_GEQUAL'
+-- * 'Graphics.GL.Tokens.GL_GREATER'
+-- * 'Graphics.GL.Tokens.GL_LEQUAL'
+-- * 'Graphics.GL.Tokens.GL_LESS'
+-- * 'Graphics.GL.Tokens.GL_NEVER'
+-- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
+--
+-- === #DrawBufferMode# DrawBufferMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AUX0'
+-- * 'Graphics.GL.Tokens.GL_AUX1'
+-- * 'Graphics.GL.Tokens.GL_AUX2'
+-- * 'Graphics.GL.Tokens.GL_AUX3'
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_BACK_LEFT'
+-- * 'Graphics.GL.Tokens.GL_BACK_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT_LEFT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_LEFT'
+-- * 'Graphics.GL.Tokens.GL_NONE' (alias: 'Graphics.GL.Tokens.GL_NONE_OES')
+-- * 'Graphics.GL.Tokens.GL_RIGHT'
+--
+-- === #DrawElementsType# DrawElementsType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+--
+-- === #EnableCap# EnableCap
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_DRAW_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_HISTOGRAM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_READ_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_TEX_IMAGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_AUTO_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_BLEND'
+-- * 'Graphics.GL.Tokens.GL_CALLIGRAPHIC_FRAGMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE0'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE1'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE2'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE3'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE4'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE5'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_COLOR_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CULL_FACE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_TEST'
+-- * 'Graphics.GL.Tokens.GL_DITHER'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_FOG'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT2_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT3_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT4_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT5_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT6_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT7_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHTING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_INDEX_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_INTERLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_IR_INSTRUMENT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT0'
+-- * 'Graphics.GL.Tokens.GL_LIGHT1'
+-- * 'Graphics.GL.Tokens.GL_LIGHT2'
+-- * 'Graphics.GL.Tokens.GL_LIGHT3'
+-- * 'Graphics.GL.Tokens.GL_LIGHT4'
+-- * 'Graphics.GL.Tokens.GL_LIGHT5'
+-- * 'Graphics.GL.Tokens.GL_LIGHT6'
+-- * 'Graphics.GL.Tokens.GL_LIGHT7'
+-- * 'Graphics.GL.Tokens.GL_LIGHTING'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MINMAX_EXT'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_NORMALIZE'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEXTURE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FILL'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_LINE'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_POINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RESCALE_NORMAL_EXT'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_ONE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_TEST'
+-- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_SHARED_TEXTURE_PALETTE_EXT'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_TEST'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_Q'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_R'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_T'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY'
+--
+-- === #ErrorCode# ErrorCode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_INVALID_ENUM'
+-- * 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION' (aliases: 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION_EXT', 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION_OES')
+-- * 'Graphics.GL.Tokens.GL_INVALID_OPERATION'
+-- * 'Graphics.GL.Tokens.GL_INVALID_VALUE'
+-- * 'Graphics.GL.Tokens.GL_NO_ERROR'
+-- * 'Graphics.GL.Tokens.GL_OUT_OF_MEMORY'
+-- * 'Graphics.GL.Tokens.GL_STACK_OVERFLOW'
+-- * 'Graphics.GL.Tokens.GL_STACK_UNDERFLOW'
+-- * 'Graphics.GL.Tokens.GL_TABLE_TOO_LARGE' (alias: 'Graphics.GL.Tokens.GL_TABLE_TOO_LARGE_EXT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_TOO_LARGE_EXT'
+--
+-- === #ExternalHandleType# ExternalHandleType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_OPAQUE_FD_EXT'
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_OPAQUE_WIN32_EXT'
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT'
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT'
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D12_RESOURCE_EXT'
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D11_IMAGE_EXT'
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT'
+-- * 'Graphics.GL.Tokens.GL_HANDLE_TYPE_D3D12_FENCE_EXT'
+--
+-- === #FeedBackToken# FeedBackToken
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BITMAP_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_COPY_PIXEL_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_DRAW_PIXEL_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_LINE_RESET_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_LINE_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_PASS_THROUGH_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_POINT_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_TOKEN'
+--
+-- === #FeedbackType# FeedbackType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_2D'
+-- * 'Graphics.GL.Tokens.GL_3D'
+-- * 'Graphics.GL.Tokens.GL_3D_COLOR'
+-- * 'Graphics.GL.Tokens.GL_3D_COLOR_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_4D_COLOR_TEXTURE'
+--
+-- === #FfdMaskSGIX# FfdMaskSGIX
+-- There are no values defined for this enumeration group.
+--
+--
+-- === #FfdTargetSGIX# FfdTargetSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_DEFORMATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_DEFORMATION_SGIX'
+--
+-- === #FogCoordinatePointerType# FogCoordinatePointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+--
+-- === #FogMode# FogMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EXP'
+-- * 'Graphics.GL.Tokens.GL_EXP2'
+-- * 'Graphics.GL.Tokens.GL_FOG_FUNC_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR'
+--
+-- === #FogPName# FogPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FOG_MODE'
+-- * 'Graphics.GL.Tokens.GL_FOG_DENSITY'
+-- * 'Graphics.GL.Tokens.GL_FOG_START'
+-- * 'Graphics.GL.Tokens.GL_FOG_END'
+-- * 'Graphics.GL.Tokens.GL_FOG_INDEX'
+-- * 'Graphics.GL.Tokens.GL_FOG_COORD_SRC'
+--
+-- === #FogParameter# FogParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FOG_COLOR'
+-- * 'Graphics.GL.Tokens.GL_FOG_DENSITY'
+-- * 'Graphics.GL.Tokens.GL_FOG_END'
+-- * 'Graphics.GL.Tokens.GL_FOG_INDEX'
+-- * 'Graphics.GL.Tokens.GL_FOG_MODE'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_VALUE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_START'
+--
+-- === #FogPointerTypeEXT# FogPointerTypeEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+--
+-- === #FogPointerTypeIBM# FogPointerTypeIBM
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+--
+-- === #FragmentLightModelParameterSGIX# FragmentLightModelParameterSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
+--
+-- === #FragmentOpATI# FragmentOpATI
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MOV_ATI'
+-- * 'Graphics.GL.Tokens.GL_ADD_ATI'
+-- * 'Graphics.GL.Tokens.GL_MUL_ATI'
+-- * 'Graphics.GL.Tokens.GL_SUB_ATI'
+-- * 'Graphics.GL.Tokens.GL_DOT3_ATI'
+-- * 'Graphics.GL.Tokens.GL_DOT4_ATI'
+-- * 'Graphics.GL.Tokens.GL_MAD_ATI'
+-- * 'Graphics.GL.Tokens.GL_LERP_ATI'
+-- * 'Graphics.GL.Tokens.GL_CND_ATI'
+-- * 'Graphics.GL.Tokens.GL_CND0_ATI'
+-- * 'Graphics.GL.Tokens.GL_DOT2_ADD_ATI'
+--
+-- === #FramebufferAttachment# FramebufferAttachment
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MAX_COLOR_ATTACHMENTS' (aliases: 'Graphics.GL.Tokens.GL_MAX_COLOR_ATTACHMENTS_EXT', 'Graphics.GL.Tokens.GL_MAX_COLOR_ATTACHMENTS_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT0' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT0_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT0_NV', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT0_OES')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT1' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT1_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT1_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT2' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT2_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT2_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT3' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT3_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT3_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT4' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT4_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT4_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT5' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT5_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT5_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT6' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT6_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT6_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT7' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT7_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT7_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT8' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT8_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT8_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT9' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT9_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT9_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT10' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT10_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT10_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT11' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT11_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT11_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT12' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT12_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT12_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT13' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT13_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT13_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT14' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT14_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT14_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT15' (aliases: 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT15_EXT', 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT15_NV')
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT16'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT17'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT18'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT19'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT20'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT21'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT22'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT23'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT24'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT25'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT26'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT27'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT28'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT29'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT30'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ATTACHMENT31'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_ATTACHMENT' (aliases: 'Graphics.GL.Tokens.GL_DEPTH_ATTACHMENT_EXT', 'Graphics.GL.Tokens.GL_DEPTH_ATTACHMENT_OES')
+--
+-- === #FramebufferAttachmentParameterName# FramebufferAttachmentParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME' (alias: 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME')
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME' (alias: 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME')
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_LAYERED'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER'
+--
+-- === #FramebufferFetchNoncoherent# FramebufferFetchNoncoherent
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM'
+--
+-- === #FramebufferParameterName# FramebufferParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_LAYERS'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_SAMPLES'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS'
+--
+-- === #FramebufferStatus# FramebufferStatus
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_COMPLETE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_UNDEFINED'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_UNSUPPORTED'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE' (alias: 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE')
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE' (alias: 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE')
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS'
+--
+-- === #FramebufferTarget# FramebufferTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER'
+-- * 'Graphics.GL.Tokens.GL_DRAW_FRAMEBUFFER'
+-- * 'Graphics.GL.Tokens.GL_READ_FRAMEBUFFER'
+--
+-- === #FrontFaceDirection# FrontFaceDirection
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CCW'
+-- * 'Graphics.GL.Tokens.GL_CW'
+--
+-- === #GetColorTableParameterPNameSGI# GetColorTableParameterPNameSGI
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_FORMAT' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_FORMAT_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_WIDTH' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_WIDTH_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_RED_SIZE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_RED_SIZE_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_GREEN_SIZE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_GREEN_SIZE_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BLUE_SIZE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_BLUE_SIZE_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_ALPHA_SIZE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_ALPHA_SIZE_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_LUMINANCE_SIZE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_LUMINANCE_SIZE_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_INTENSITY_SIZE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_INTENSITY_SIZE_SGI')
+--
+-- === #GetConvolutionParameter# GetConvolutionParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_COLOR'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FORMAT' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FORMAT_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_WIDTH' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_WIDTH_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_HEIGHT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_WIDTH' (alias: 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_WIDTH_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_HEIGHT_EXT')
+--
+-- === #GetFramebufferParameter# GetFramebufferParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_LAYERS'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_SAMPLES'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS'
+-- * 'Graphics.GL.Tokens.GL_DOUBLEBUFFER'
+-- * 'Graphics.GL.Tokens.GL_IMPLEMENTATION_COLOR_READ_FORMAT'
+-- * 'Graphics.GL.Tokens.GL_IMPLEMENTATION_COLOR_READ_TYPE'
+-- * 'Graphics.GL.Tokens.GL_SAMPLES'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_BUFFERS'
+-- * 'Graphics.GL.Tokens.GL_STEREO'
+--
+-- === #GetHistogramParameterPNameEXT# GetHistogramParameterPNameEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_WIDTH' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_WIDTH_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_WIDTH_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_FORMAT' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_FORMAT_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_FORMAT_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_RED_SIZE' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_RED_SIZE_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_RED_SIZE_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_GREEN_SIZE' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_GREEN_SIZE_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_GREEN_SIZE_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_BLUE_SIZE' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_BLUE_SIZE_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_BLUE_SIZE_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_ALPHA_SIZE' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_ALPHA_SIZE_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_ALPHA_SIZE_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_LUMINANCE_SIZE' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_LUMINANCE_SIZE_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_LUMINANCE_SIZE_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_SINK' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM_SINK_EXT', 'Graphics.GL.Tokens.GL_HISTOGRAM_SINK_EXT')
+--
+-- === #GetMapQuery# GetMapQuery
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COEFF'
+-- * 'Graphics.GL.Tokens.GL_DOMAIN'
+-- * 'Graphics.GL.Tokens.GL_ORDER'
+--
+-- === #GetMinmaxParameterPNameEXT# GetMinmaxParameterPNameEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MINMAX_FORMAT' (aliases: 'Graphics.GL.Tokens.GL_MINMAX_FORMAT', 'Graphics.GL.Tokens.GL_MINMAX_FORMAT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MINMAX_SINK' (aliases: 'Graphics.GL.Tokens.GL_MINMAX_SINK', 'Graphics.GL.Tokens.GL_MINMAX_SINK_EXT')
+-- * 'Graphics.GL.Tokens.GL_MINMAX_FORMAT' (aliases: 'Graphics.GL.Tokens.GL_MINMAX_FORMAT', 'Graphics.GL.Tokens.GL_MINMAX_FORMAT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MINMAX_SINK' (aliases: 'Graphics.GL.Tokens.GL_MINMAX_SINK', 'Graphics.GL.Tokens.GL_MINMAX_SINK_EXT')
+--
+-- === #GetPName# GetPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM_ALPHA_BITS'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_BLUE_BITS'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_GREEN_BITS'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_RED_BITS'
+-- * 'Graphics.GL.Tokens.GL_ALIASED_LINE_WIDTH_RANGE'
+-- * 'Graphics.GL.Tokens.GL_ALIASED_POINT_SIZE_RANGE'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_BIAS'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_BITS'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_SCALE'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_QCOM')
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST_FUNC' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_FUNC_QCOM')
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST_REF' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_REF_QCOM')
+-- * 'Graphics.GL.Tokens.GL_ASYNC_DRAW_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_HISTOGRAM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_MARKER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_READ_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_TEX_IMAGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_AUTO_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_AUX_BUFFERS'
+-- * 'Graphics.GL.Tokens.GL_BLEND'
+-- * 'Graphics.GL.Tokens.GL_BLEND_COLOR_EXT'
+-- * 'Graphics.GL.Tokens.GL_BLEND_DST'
+-- * 'Graphics.GL.Tokens.GL_BLEND_EQUATION_EXT'
+-- * 'Graphics.GL.Tokens.GL_BLEND_SRC'
+-- * 'Graphics.GL.Tokens.GL_BLUE_BIAS'
+-- * 'Graphics.GL.Tokens.GL_BLUE_BITS'
+-- * 'Graphics.GL.Tokens.GL_BLUE_SCALE'
+-- * 'Graphics.GL.Tokens.GL_CALLIGRAPHIC_FRAGMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_CLIENT_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE0'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE1'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE2'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE3'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE4'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE5'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL_FACE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL_PARAMETER'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATRIX_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATRIX_STACK_DEPTH_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_CULL_FACE'
+-- * 'Graphics.GL.Tokens.GL_CULL_FACE_MODE'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_COLOR'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_INDEX'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_COLOR'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_DISTANCE'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_INDEX'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_POSITION'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_POSITION_VALID'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_TEXTURE_COORDS'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_TEXTURE_COORDS'
+-- * 'Graphics.GL.Tokens.GL_DEFORMATIONS_MASK_SGIX'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BIAS'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BITS'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_FUNC'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_RANGE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_SCALE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_TEST'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_2D_BINDING_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DEVICE_LUID_EXT'
+-- * 'Graphics.GL.Tokens.GL_DEVICE_NODE_MASK_EXT'
+-- * 'Graphics.GL.Tokens.GL_DEVICE_UUID_EXT'
+-- * 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DITHER'
+-- * 'Graphics.GL.Tokens.GL_DOUBLEBUFFER'
+-- * 'Graphics.GL.Tokens.GL_DRAW_BUFFER' (alias: 'Graphics.GL.Tokens.GL_DRAW_BUFFER_EXT')
+-- * 'Graphics.GL.Tokens.GL_DRIVER_UUID_EXT'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_TYPE'
+-- * 'Graphics.GL.Tokens.GL_FOG'
+-- * 'Graphics.GL.Tokens.GL_FOG_COLOR'
+-- * 'Graphics.GL.Tokens.GL_FOG_DENSITY'
+-- * 'Graphics.GL.Tokens.GL_FOG_END'
+-- * 'Graphics.GL.Tokens.GL_FOG_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_FOG_HINT'
+-- * 'Graphics.GL.Tokens.GL_FOG_INDEX'
+-- * 'Graphics.GL.Tokens.GL_FOG_MODE'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_VALUE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_START'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHTING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_FACTOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRONT_FACE'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_BIAS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_BITS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_SCALE'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_BITS'
+-- * 'Graphics.GL.Tokens.GL_INDEX_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_LOGIC_OP' (alias: 'Graphics.GL.Tokens.GL_LOGIC_OP')
+-- * 'Graphics.GL.Tokens.GL_INDEX_MODE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_OFFSET'
+-- * 'Graphics.GL.Tokens.GL_INDEX_SHIFT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_INSTRUMENT_MEASUREMENTS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_INTERLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_IR_INSTRUMENT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT0'
+-- * 'Graphics.GL.Tokens.GL_LIGHT1'
+-- * 'Graphics.GL.Tokens.GL_LIGHT2'
+-- * 'Graphics.GL.Tokens.GL_LIGHT3'
+-- * 'Graphics.GL.Tokens.GL_LIGHT4'
+-- * 'Graphics.GL.Tokens.GL_LIGHT5'
+-- * 'Graphics.GL.Tokens.GL_LIGHT6'
+-- * 'Graphics.GL.Tokens.GL_LIGHT7'
+-- * 'Graphics.GL.Tokens.GL_LIGHTING'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_ENV_MODE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_LOCAL_VIEWER'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_TWO_SIDE'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE_PATTERN'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE_REPEAT'
+-- * 'Graphics.GL.Tokens.GL_LINE_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_LINE_WIDTH_GRANULARITY' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_LINE_WIDTH_GRANULARITY')
+-- * 'Graphics.GL.Tokens.GL_LINE_WIDTH_RANGE' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_LINE_WIDTH_RANGE')
+-- * 'Graphics.GL.Tokens.GL_LIST_BASE'
+-- * 'Graphics.GL.Tokens.GL_LIST_INDEX'
+-- * 'Graphics.GL.Tokens.GL_LIST_MODE'
+-- * 'Graphics.GL.Tokens.GL_LOGIC_OP_MODE'
+-- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_GRID_DOMAIN'
+-- * 'Graphics.GL.Tokens.GL_MAP1_GRID_SEGMENTS'
+-- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_GRID_DOMAIN'
+-- * 'Graphics.GL.Tokens.GL_MAP2_GRID_SEGMENTS'
+-- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP_COLOR'
+-- * 'Graphics.GL.Tokens.GL_MAP_STENCIL'
+-- * 'Graphics.GL.Tokens.GL_MATRIX_MODE'
+-- * 'Graphics.GL.Tokens.GL_MAX_3D_TEXTURE_SIZE_EXT'
+-- * 'Graphics.GL.Tokens.GL_MAX_4D_TEXTURE_SIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_MAX_ACTIVE_LIGHTS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_DRAW_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_HISTOGRAM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_READ_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_TEX_IMAGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIPMAP_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIP_DISTANCES' (alias: 'Graphics.GL.Tokens.GL_MAX_CLIP_PLANES')
+-- * 'Graphics.GL.Tokens.GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI'
+-- * 'Graphics.GL.Tokens.GL_MAX_EVAL_ORDER'
+-- * 'Graphics.GL.Tokens.GL_MAX_FOG_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_MAX_FRAGMENT_LIGHTS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_FRAMEZOOM_FACTOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_LIGHTS'
+-- * 'Graphics.GL.Tokens.GL_MAX_LIST_NESTING'
+-- * 'Graphics.GL.Tokens.GL_MAX_MODELVIEW_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_NAME_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_PIXEL_MAP_TABLE'
+-- * 'Graphics.GL.Tokens.GL_MAX_PROJECTION_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_TEXTURE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_MAX_TEXTURE_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_VIEWPORT_DIMS'
+-- * 'Graphics.GL.Tokens.GL_MINMAX_EXT'
+-- * 'Graphics.GL.Tokens.GL_MODELVIEW0_MATRIX_EXT' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW_MATRIX')
+-- * 'Graphics.GL.Tokens.GL_MODELVIEW0_STACK_DEPTH_EXT' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW_STACK_DEPTH')
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_NAME_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_NORMALIZE'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_PACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_PACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT_EXT'
+-- * 'Graphics.GL.Tokens.GL_PACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_ROW_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES_EXT'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_PIXELS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_ROWS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_SWAP_BYTES'
+-- * 'Graphics.GL.Tokens.GL_PERSPECTIVE_CORRECTION_HINT'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEXTURE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_MODE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_INCREMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_SIZE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_GRANULARITY' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_POINT_SIZE_GRANULARITY')
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_RANGE' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_POINT_SIZE_RANGE')
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_MODE'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FACTOR'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FILL'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_LINE'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_POINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_UNITS'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PROJECTION_MATRIX'
+-- * 'Graphics.GL.Tokens.GL_PROJECTION_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_READ_BUFFER' (aliases: 'Graphics.GL.Tokens.GL_READ_BUFFER_EXT', 'Graphics.GL.Tokens.GL_READ_BUFFER_NV')
+-- * 'Graphics.GL.Tokens.GL_RED_BIAS'
+-- * 'Graphics.GL.Tokens.GL_RED_BITS'
+-- * 'Graphics.GL.Tokens.GL_RED_SCALE'
+-- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_EQUATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RENDER_MODE'
+-- * 'Graphics.GL.Tokens.GL_RESCALE_NORMAL_EXT'
+-- * 'Graphics.GL.Tokens.GL_RGBA_MODE'
+-- * 'Graphics.GL.Tokens.GL_SAMPLES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_ONE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_BUFFERS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_INVERT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_VALUE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_PATTERN_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_BOX'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_TEST'
+-- * 'Graphics.GL.Tokens.GL_SELECTION_BUFFER_SIZE'
+-- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_SHADE_MODEL'
+-- * 'Graphics.GL.Tokens.GL_SHARED_TEXTURE_PALETTE_EXT'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_AXIS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_MODE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_TRANSLATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BITS'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_FAIL'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_FUNC'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_PASS_DEPTH_FAIL'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_PASS_DEPTH_PASS'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_REF'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_TEST'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_VALUE_MASK'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_STEREO'
+-- * 'Graphics.GL.Tokens.GL_SUBPIXEL_BITS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_BINDING_EXT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_3D')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_BINDING_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_Q'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_R'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_T'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MATRIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT_EXT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES_EXT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SWAP_BYTES'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_SGIX'
+-- * 'Graphics.GL.Tokens.GL_VIEWPORT'
+-- * 'Graphics.GL.Tokens.GL_ZOOM_X'
+-- * 'Graphics.GL.Tokens.GL_ZOOM_Y'
+--
+-- === #GetPixelMap# GetPixelMap
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S'
+--
+-- === #GetPointervPName# GetPointervPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_COLOR_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_POINTER'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_INDEX_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_INSTRUMENT_BUFFER_POINTER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_SELECTION_BUFFER_POINTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_DEBUG_CALLBACK_FUNCTION'
+-- * 'Graphics.GL.Tokens.GL_DEBUG_CALLBACK_USER_PARAM'
+--
+-- === #GetTextureParameter# GetTextureParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_MODE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_QUAD_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SHADOW_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4DSIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ALPHA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BLUE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR_NV')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_CENTER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_FRAME_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_OPERATOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPONENTS' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_INTERNAL_FORMAT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_DEPTH_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_FILTER4_SIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEQUAL_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GREEN_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_INTENSITY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LEQUAL_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LUMINANCE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAG_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_RED_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_RESIDENT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_Q_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_T'
+--
+-- === #GraphicsResetStatus# GraphicsResetStatus
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NO_ERROR'
+-- * 'Graphics.GL.Tokens.GL_GUILTY_CONTEXT_RESET'
+-- * 'Graphics.GL.Tokens.GL_INNOCENT_CONTEXT_RESET'
+-- * 'Graphics.GL.Tokens.GL_UNKNOWN_CONTEXT_RESET'
+--
+-- === #HintMode# HintMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DONT_CARE'
+-- * 'Graphics.GL.Tokens.GL_FASTEST'
+-- * 'Graphics.GL.Tokens.GL_NICEST'
+--
+-- === #HintTarget# HintTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_FRG_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_MEM_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_OBJ_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_WIN_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALWAYS_FAST_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALWAYS_SOFT_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_BACK_NORMALS_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_BINNING_CONTROL_HINT_QCOM'
+-- * 'Graphics.GL.Tokens.GL_CLIP_FAR_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_CLIP_NEAR_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_CLIP_VOLUME_CLIPPING_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONSERVE_MEMORY_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_HINT'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT' (aliases: 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB', 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES')
+-- * 'Graphics.GL.Tokens.GL_FULL_STIPPLE_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT' (alias: 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT_SGIS')
+-- * 'Graphics.GL.Tokens.GL_LINE_QUALITY_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_MATERIAL_SIDE_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_MAX_VERTEX_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_FILTER_HINT_NV'
+-- * 'Graphics.GL.Tokens.GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_NATIVE_GRAPHICS_END_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_PACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_PERSPECTIVE_CORRECTION_HINT'
+-- * 'Graphics.GL.Tokens.GL_PHONG_HINT_WIN'
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_PREFER_DOUBLEBUFFER_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_BINARY_RETRIEVABLE_HINT'
+-- * 'Graphics.GL.Tokens.GL_RECLAIM_MEMORY_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_SCALEBIAS_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_STRICT_DEPTHFUNC_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_STRICT_LIGHTING_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_STRICT_SCISSOR_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSION_HINT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSION_HINT_ARB')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MULTI_BUFFER_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_STORAGE_HINT_APPLE'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_HINT_APPLE'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_STORAGE_HINT_APPLE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_CONSISTENT_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_DATA_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_SGIX'
+-- * 'Graphics.GL.Tokens.GL_WIDE_LINE_HINT_PGI'
+--
+-- === #HistogramTargetEXT# HistogramTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM', 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM' (aliases: 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM', 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM_EXT')
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM' (aliases: 'Graphics.GL.Tokens.GL_HISTOGRAM', 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM' (aliases: 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM', 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM_EXT')
+--
+-- === #IndexPointerType# IndexPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+--
+-- === #InterleavedArrayFormat# InterleavedArrayFormat
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_C3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_C4F_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_C4UB_V2F'
+-- * 'Graphics.GL.Tokens.GL_C4UB_V3F'
+-- * 'Graphics.GL.Tokens.GL_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_C3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_C4F_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_C4UB_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T4F_C4F_N3F_V4F'
+-- * 'Graphics.GL.Tokens.GL_T4F_V4F'
+-- * 'Graphics.GL.Tokens.GL_V2F'
+-- * 'Graphics.GL.Tokens.GL_V3F'
+--
+-- === #InternalFormat# InternalFormat
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA12'
+-- * 'Graphics.GL.Tokens.GL_ALPHA16'
+-- * 'Graphics.GL.Tokens.GL_ALPHA4'
+-- * 'Graphics.GL.Tokens.GL_ALPHA8'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA12_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA16_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY12_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY16_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE12_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE16_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE_ALPHA4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE_ALPHA8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY12'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY16'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY4'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY8'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE12'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE12_ALPHA12'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE12_ALPHA4'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE16'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE16_ALPHA16'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE4'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE4_ALPHA4'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE6_ALPHA2'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE8'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE8_ALPHA8'
+-- * 'Graphics.GL.Tokens.GL_QUAD_ALPHA4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_ALPHA8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_INTENSITY4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_INTENSITY8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_LUMINANCE4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_LUMINANCE8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_RED' (alias: 'Graphics.GL.Tokens.GL_RED_EXT')
+-- * 'Graphics.GL.Tokens.GL_R8' (alias: 'Graphics.GL.Tokens.GL_R8_EXT')
+-- * 'Graphics.GL.Tokens.GL_R8_SNORM'
+-- * 'Graphics.GL.Tokens.GL_R16' (alias: 'Graphics.GL.Tokens.GL_R16_EXT')
+-- * 'Graphics.GL.Tokens.GL_R16_SNORM' (alias: 'Graphics.GL.Tokens.GL_R16_SNORM_EXT')
+-- * 'Graphics.GL.Tokens.GL_R16F' (alias: 'Graphics.GL.Tokens.GL_R16F_EXT')
+-- * 'Graphics.GL.Tokens.GL_R32F' (alias: 'Graphics.GL.Tokens.GL_R32F_EXT')
+-- * 'Graphics.GL.Tokens.GL_R8I'
+-- * 'Graphics.GL.Tokens.GL_R16I'
+-- * 'Graphics.GL.Tokens.GL_R32I'
+-- * 'Graphics.GL.Tokens.GL_R8UI'
+-- * 'Graphics.GL.Tokens.GL_R16UI'
+-- * 'Graphics.GL.Tokens.GL_R32UI'
+-- * 'Graphics.GL.Tokens.GL_RG'
+-- * 'Graphics.GL.Tokens.GL_RG8' (alias: 'Graphics.GL.Tokens.GL_RG8_EXT')
+-- * 'Graphics.GL.Tokens.GL_RG8_SNORM'
+-- * 'Graphics.GL.Tokens.GL_RG16' (alias: 'Graphics.GL.Tokens.GL_RG16_EXT')
+-- * 'Graphics.GL.Tokens.GL_RG16_SNORM' (alias: 'Graphics.GL.Tokens.GL_RG16_SNORM_EXT')
+-- * 'Graphics.GL.Tokens.GL_RG16F' (alias: 'Graphics.GL.Tokens.GL_RG16F_EXT')
+-- * 'Graphics.GL.Tokens.GL_RG32F' (alias: 'Graphics.GL.Tokens.GL_RG32F_EXT')
+-- * 'Graphics.GL.Tokens.GL_RG8I'
+-- * 'Graphics.GL.Tokens.GL_RG16I'
+-- * 'Graphics.GL.Tokens.GL_RG32I'
+-- * 'Graphics.GL.Tokens.GL_RG8UI'
+-- * 'Graphics.GL.Tokens.GL_RG16UI'
+-- * 'Graphics.GL.Tokens.GL_RG32UI'
+-- * 'Graphics.GL.Tokens.GL_RGB'
+-- * 'Graphics.GL.Tokens.GL_RGB2_EXT'
+-- * 'Graphics.GL.Tokens.GL_RGB4' (alias: 'Graphics.GL.Tokens.GL_RGB4_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB5' (alias: 'Graphics.GL.Tokens.GL_RGB5_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB8' (aliases: 'Graphics.GL.Tokens.GL_RGB8_EXT', 'Graphics.GL.Tokens.GL_RGB8_OES')
+-- * 'Graphics.GL.Tokens.GL_RGB8_SNORM'
+-- * 'Graphics.GL.Tokens.GL_RGB10' (alias: 'Graphics.GL.Tokens.GL_RGB10_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB12' (alias: 'Graphics.GL.Tokens.GL_RGB12_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB16' (alias: 'Graphics.GL.Tokens.GL_RGB16_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB16F' (aliases: 'Graphics.GL.Tokens.GL_RGB16F_ARB', 'Graphics.GL.Tokens.GL_RGB16F_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB16_SNORM' (alias: 'Graphics.GL.Tokens.GL_RGB16_SNORM_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB8I'
+-- * 'Graphics.GL.Tokens.GL_RGB16I'
+-- * 'Graphics.GL.Tokens.GL_RGB32I'
+-- * 'Graphics.GL.Tokens.GL_RGB8UI'
+-- * 'Graphics.GL.Tokens.GL_RGB16UI'
+-- * 'Graphics.GL.Tokens.GL_RGB32UI'
+-- * 'Graphics.GL.Tokens.GL_SRGB' (alias: 'Graphics.GL.Tokens.GL_SRGB_EXT')
+-- * 'Graphics.GL.Tokens.GL_SRGB_ALPHA' (alias: 'Graphics.GL.Tokens.GL_SRGB_ALPHA_EXT')
+-- * 'Graphics.GL.Tokens.GL_SRGB8' (aliases: 'Graphics.GL.Tokens.GL_SRGB8_EXT', 'Graphics.GL.Tokens.GL_SRGB8_NV')
+-- * 'Graphics.GL.Tokens.GL_SRGB8_ALPHA8' (alias: 'Graphics.GL.Tokens.GL_SRGB8_ALPHA8_EXT')
+-- * 'Graphics.GL.Tokens.GL_R3_G3_B2'
+-- * 'Graphics.GL.Tokens.GL_R11F_G11F_B10F' (aliases: 'Graphics.GL.Tokens.GL_R11F_G11F_B10F_APPLE', 'Graphics.GL.Tokens.GL_R11F_G11F_B10F_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB9_E5' (aliases: 'Graphics.GL.Tokens.GL_RGB9_E5_APPLE', 'Graphics.GL.Tokens.GL_RGB9_E5_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGBA'
+-- * 'Graphics.GL.Tokens.GL_RGBA4' (aliases: 'Graphics.GL.Tokens.GL_RGBA4_EXT', 'Graphics.GL.Tokens.GL_RGBA4_OES')
+-- * 'Graphics.GL.Tokens.GL_RGB5_A1' (aliases: 'Graphics.GL.Tokens.GL_RGB5_A1_EXT', 'Graphics.GL.Tokens.GL_RGB5_A1_OES')
+-- * 'Graphics.GL.Tokens.GL_RGBA8' (aliases: 'Graphics.GL.Tokens.GL_RGBA8_EXT', 'Graphics.GL.Tokens.GL_RGBA8_OES')
+-- * 'Graphics.GL.Tokens.GL_RGBA8_SNORM'
+-- * 'Graphics.GL.Tokens.GL_RGB10_A2' (alias: 'Graphics.GL.Tokens.GL_RGB10_A2_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGBA12' (alias: 'Graphics.GL.Tokens.GL_RGBA12_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGBA16' (alias: 'Graphics.GL.Tokens.GL_RGBA16_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGBA16F' (aliases: 'Graphics.GL.Tokens.GL_RGBA16F_ARB', 'Graphics.GL.Tokens.GL_RGBA16F_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGBA32F' (aliases: 'Graphics.GL.Tokens.GL_RGBA32F_ARB', 'Graphics.GL.Tokens.GL_RGBA32F_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGBA8I'
+-- * 'Graphics.GL.Tokens.GL_RGBA16I'
+-- * 'Graphics.GL.Tokens.GL_RGBA32I'
+-- * 'Graphics.GL.Tokens.GL_RGBA8UI'
+-- * 'Graphics.GL.Tokens.GL_RGBA16UI'
+-- * 'Graphics.GL.Tokens.GL_RGBA32UI'
+-- * 'Graphics.GL.Tokens.GL_RGB10_A2UI'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT16' (aliases: 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT16_ARB', 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT16_OES', 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT16_SGIX')
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT24_ARB' (aliases: 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT24_OES', 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT24_SGIX')
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32_ARB' (aliases: 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32_OES', 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32_SGIX')
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32F'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32F_NV' (alias: 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32F_NV')
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32F_NV' (alias: 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32F_NV')
+-- * 'Graphics.GL.Tokens.GL_DEPTH_STENCIL' (aliases: 'Graphics.GL.Tokens.GL_DEPTH_STENCIL_EXT', 'Graphics.GL.Tokens.GL_DEPTH_STENCIL_NV', 'Graphics.GL.Tokens.GL_DEPTH_STENCIL_OES')
+-- * 'Graphics.GL.Tokens.GL_DEPTH_STENCIL_MESA'
+-- * 'Graphics.GL.Tokens.GL_DEPTH24_STENCIL8' (aliases: 'Graphics.GL.Tokens.GL_DEPTH24_STENCIL8_EXT', 'Graphics.GL.Tokens.GL_DEPTH24_STENCIL8_OES')
+-- * 'Graphics.GL.Tokens.GL_DEPTH32F_STENCIL8'
+-- * 'Graphics.GL.Tokens.GL_DEPTH32F_STENCIL8_NV'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RED'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RG'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGB'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGBA'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RED_RGTC1' (alias: 'Graphics.GL.Tokens.GL_COMPRESSED_RED_RGTC1_EXT')
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SIGNED_RED_RGTC1' (alias: 'Graphics.GL.Tokens.GL_COMPRESSED_SIGNED_RED_RGTC1_EXT')
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_R11_EAC'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SIGNED_R11_EAC'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RG_RGTC2'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SIGNED_RG_RGTC2'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGBA_BPTC_UNORM'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGB8_ETC2'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB8_ETC2'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGBA8_ETC2_EAC'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RG11_EAC'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SIGNED_RG11_EAC'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGB_S3TC_DXT1_EXT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB_S3TC_DXT1_EXT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGBA_S3TC_DXT1_EXT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGBA_S3TC_DXT3_EXT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_RGBA_S3TC_DXT5_EXT'
+-- * 'Graphics.GL.Tokens.GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT'
+--
+-- === #InternalFormatPName# InternalFormatPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NUM_SAMPLE_COUNTS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLES'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_SUPPORTED'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_PREFERRED'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_RED_SIZE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_GREEN_SIZE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_BLUE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_ALPHA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_DEPTH_SIZE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_STENCIL_SIZE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_SHARED_SIZE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_RED_TYPE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_GREEN_TYPE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_BLUE_TYPE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_ALPHA_TYPE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_DEPTH_TYPE'
+-- * 'Graphics.GL.Tokens.GL_INTERNALFORMAT_STENCIL_TYPE'
+-- * 'Graphics.GL.Tokens.GL_MAX_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_MAX_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_LAYERS'
+-- * 'Graphics.GL.Tokens.GL_COLOR_COMPONENTS'
+-- * 'Graphics.GL.Tokens.GL_COLOR_RENDERABLE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_RENDERABLE'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_RENDERABLE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_RENDERABLE'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_RENDERABLE_LAYERED'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_BLEND'
+-- * 'Graphics.GL.Tokens.GL_READ_PIXELS'
+-- * 'Graphics.GL.Tokens.GL_READ_PIXELS_FORMAT'
+-- * 'Graphics.GL.Tokens.GL_READ_PIXELS_TYPE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_IMAGE_FORMAT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_IMAGE_TYPE'
+-- * 'Graphics.GL.Tokens.GL_GET_TEXTURE_IMAGE_FORMAT'
+-- * 'Graphics.GL.Tokens.GL_GET_TEXTURE_IMAGE_TYPE'
+-- * 'Graphics.GL.Tokens.GL_MIPMAP'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP'
+-- * 'Graphics.GL.Tokens.GL_AUTO_GENERATE_MIPMAP'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ENCODING'
+-- * 'Graphics.GL.Tokens.GL_SRGB_READ'
+-- * 'Graphics.GL.Tokens.GL_SRGB_WRITE'
+-- * 'Graphics.GL.Tokens.GL_FILTER'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_COMPUTE_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_SHADOW'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GATHER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GATHER_SHADOW'
+-- * 'Graphics.GL.Tokens.GL_SHADER_IMAGE_LOAD'
+-- * 'Graphics.GL.Tokens.GL_SHADER_IMAGE_STORE'
+-- * 'Graphics.GL.Tokens.GL_SHADER_IMAGE_ATOMIC'
+-- * 'Graphics.GL.Tokens.GL_IMAGE_TEXEL_SIZE'
+-- * 'Graphics.GL.Tokens.GL_IMAGE_COMPATIBILITY_CLASS'
+-- * 'Graphics.GL.Tokens.GL_IMAGE_PIXEL_FORMAT'
+-- * 'Graphics.GL.Tokens.GL_IMAGE_PIXEL_TYPE'
+-- * 'Graphics.GL.Tokens.GL_IMAGE_FORMAT_COMPATIBILITY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST'
+-- * 'Graphics.GL.Tokens.GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST'
+-- * 'Graphics.GL.Tokens.GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE'
+-- * 'Graphics.GL.Tokens.GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSED'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSED_BLOCK_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSED_BLOCK_SIZE'
+-- * 'Graphics.GL.Tokens.GL_CLEAR_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_VIEW'
+-- * 'Graphics.GL.Tokens.GL_VIEW_COMPATIBILITY_CLASS'
+-- * 'Graphics.GL.Tokens.GL_CLEAR_TEXTURE'
+--
+-- === #LightEnvModeSGIX# LightEnvModeSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ADD'
+-- * 'Graphics.GL.Tokens.GL_MODULATE'
+-- * 'Graphics.GL.Tokens.GL_REPLACE'
+--
+-- === #LightEnvParameterSGIX# LightEnvParameterSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LIGHT_ENV_MODE_SGIX'
+--
+-- === #LightModelColorControl# LightModelColorControl
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SEPARATE_SPECULAR_COLOR' (alias: 'Graphics.GL.Tokens.GL_SEPARATE_SPECULAR_COLOR_EXT')
+-- * 'Graphics.GL.Tokens.GL_SINGLE_COLOR' (alias: 'Graphics.GL.Tokens.GL_SINGLE_COLOR_EXT')
+--
+-- === #LightModelParameter# LightModelParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL' (alias: 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL_EXT')
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_LOCAL_VIEWER'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_TWO_SIDE'
+--
+-- === #LightName# LightName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT2_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT3_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT4_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT5_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT6_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT7_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT0'
+-- * 'Graphics.GL.Tokens.GL_LIGHT1'
+-- * 'Graphics.GL.Tokens.GL_LIGHT2'
+-- * 'Graphics.GL.Tokens.GL_LIGHT3'
+-- * 'Graphics.GL.Tokens.GL_LIGHT4'
+-- * 'Graphics.GL.Tokens.GL_LIGHT5'
+-- * 'Graphics.GL.Tokens.GL_LIGHT6'
+-- * 'Graphics.GL.Tokens.GL_LIGHT7'
+--
+-- === #LightParameter# LightParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_ATTENUATION'
+-- * 'Graphics.GL.Tokens.GL_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_ATTENUATION'
+-- * 'Graphics.GL.Tokens.GL_POSITION'
+-- * 'Graphics.GL.Tokens.GL_QUADRATIC_ATTENUATION'
+-- * 'Graphics.GL.Tokens.GL_SPECULAR'
+-- * 'Graphics.GL.Tokens.GL_SPOT_CUTOFF'
+-- * 'Graphics.GL.Tokens.GL_SPOT_DIRECTION'
+-- * 'Graphics.GL.Tokens.GL_SPOT_EXPONENT'
+--
+-- === #ListMode# ListMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COMPILE'
+-- * 'Graphics.GL.Tokens.GL_COMPILE_AND_EXECUTE'
+--
+-- === #ListNameType# ListNameType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_2_BYTES'
+-- * 'Graphics.GL.Tokens.GL_3_BYTES'
+-- * 'Graphics.GL.Tokens.GL_4_BYTES'
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+--
+-- === #ListParameterName# ListParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LIST_PRIORITY_SGIX'
+--
+-- === #LogicOp# LogicOp
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AND'
+-- * 'Graphics.GL.Tokens.GL_AND_INVERTED'
+-- * 'Graphics.GL.Tokens.GL_AND_REVERSE'
+-- * 'Graphics.GL.Tokens.GL_CLEAR'
+-- * 'Graphics.GL.Tokens.GL_COPY'
+-- * 'Graphics.GL.Tokens.GL_COPY_INVERTED'
+-- * 'Graphics.GL.Tokens.GL_EQUIV'
+-- * 'Graphics.GL.Tokens.GL_INVERT'
+-- * 'Graphics.GL.Tokens.GL_NAND'
+-- * 'Graphics.GL.Tokens.GL_NOOP'
+-- * 'Graphics.GL.Tokens.GL_NOR'
+-- * 'Graphics.GL.Tokens.GL_OR'
+-- * 'Graphics.GL.Tokens.GL_OR_INVERTED'
+-- * 'Graphics.GL.Tokens.GL_OR_REVERSE'
+-- * 'Graphics.GL.Tokens.GL_SET'
+-- * 'Graphics.GL.Tokens.GL_XOR'
+--
+-- === #MapBufferUsageMask# MapBufferUsageMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLIENT_STORAGE_BIT' (alias: 'Graphics.GL.Tokens.GL_CLIENT_STORAGE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_STORAGE_BIT' (alias: 'Graphics.GL.Tokens.GL_DYNAMIC_STORAGE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_COHERENT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_COHERENT_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_PERSISTENT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_PERSISTENT_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_READ_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_READ_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_SPARSE_STORAGE_BIT_ARB'
+-- * 'Graphics.GL.Tokens.GL_LGPU_SEPARATE_STORAGE_BIT_NVX' (alias: 'Graphics.GL.Tokens.GL_PER_GPU_STORAGE_BIT_NV')
+--
+-- === #MapQuery# MapQuery
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COEFF'
+-- * 'Graphics.GL.Tokens.GL_ORDER'
+-- * 'Graphics.GL.Tokens.GL_DOMAIN'
+--
+-- === #MapTarget# MapTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_DEFORMATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_DEFORMATION_SGIX'
+--
+-- === #MapTextureFormatINTEL# MapTextureFormatINTEL
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_DEFAULT_INTEL'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_LINEAR_CPU_CACHED_INTEL'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_LINEAR_INTEL'
+--
+-- === #MaterialFace# MaterialFace
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+--
+-- === #MaterialParameter# MaterialParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_AMBIENT_AND_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_INDEXES'
+-- * 'Graphics.GL.Tokens.GL_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_EMISSION'
+-- * 'Graphics.GL.Tokens.GL_SHININESS'
+-- * 'Graphics.GL.Tokens.GL_SPECULAR'
+--
+-- === #MatrixMode# MatrixMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MODELVIEW' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW0_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROJECTION'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE'
+--
+-- === #MemoryBarrierMask# MemoryBarrierMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALL_BARRIER_BITS' (alias: 'Graphics.GL.Tokens.GL_ALL_BARRIER_BITS_EXT')
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_BUFFER_UPDATE_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_BUFFER_UPDATE_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_COMMAND_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_COMMAND_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_FRAMEBUFFER_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_PIXEL_BUFFER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_PIXEL_BUFFER_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_QUERY_BUFFER_BARRIER_BIT'
+-- * 'Graphics.GL.Tokens.GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BARRIER_BIT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_FETCH_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_FETCH_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_UPDATE_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_UPDATE_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_UNIFORM_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT')
+--
+-- === #MemoryObjectParameterName# MemoryObjectParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DEDICATED_MEMORY_OBJECT_EXT'
+-- * 'Graphics.GL.Tokens.GL_PROTECTED_MEMORY_OBJECT_EXT'
+--
+-- === #MeshMode1# MeshMode1
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LINE'
+-- * 'Graphics.GL.Tokens.GL_POINT'
+--
+-- === #MeshMode2# MeshMode2
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILL'
+-- * 'Graphics.GL.Tokens.GL_LINE'
+-- * 'Graphics.GL.Tokens.GL_POINT'
+--
+-- === #MinmaxTargetEXT# MinmaxTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MINMAX' (alias: 'Graphics.GL.Tokens.GL_MINMAX_EXT')
+--
+-- === #NormalPointerType# NormalPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+--
+-- === #ObjectIdentifier# ObjectIdentifier
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_SHADER'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_QUERY'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_PIPELINE'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK'
+-- * 'Graphics.GL.Tokens.GL_SAMPLER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER'
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER'
+--
+-- === #OcclusionQueryEventMaskAMD# OcclusionQueryEventMaskAMD
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_ALL_EVENT_BITS_AMD'
+--
+-- === #PatchParameterName# PatchParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PATCH_VERTICES'
+-- * 'Graphics.GL.Tokens.GL_PATCH_DEFAULT_OUTER_LEVEL'
+-- * 'Graphics.GL.Tokens.GL_PATCH_DEFAULT_INNER_LEVEL'
+--
+-- === #PathColor# PathColor
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PRIMARY_COLOR'
+-- * 'Graphics.GL.Tokens.GL_PRIMARY_COLOR_NV'
+-- * 'Graphics.GL.Tokens.GL_SECONDARY_COLOR_NV'
+--
+-- === #PathCoverMode# PathCoverMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVEX_HULL_NV'
+-- * 'Graphics.GL.Tokens.GL_BOUNDING_BOX_NV'
+-- * 'Graphics.GL.Tokens.GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_FILL_COVER_MODE_NV'
+--
+-- === #PathElementType# PathElementType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_UTF8_NV'
+-- * 'Graphics.GL.Tokens.GL_UTF16_NV'
+--
+-- === #PathFillMode# PathFillMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_INVERT'
+-- * 'Graphics.GL.Tokens.GL_COUNT_UP_NV'
+-- * 'Graphics.GL.Tokens.GL_COUNT_DOWN_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_FILL_MODE_NV'
+--
+-- === #PathFontStyle# PathFontStyle
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NONE'
+-- * 'Graphics.GL.Tokens.GL_BOLD_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_ITALIC_BIT_NV'
+--
+-- === #PathFontTarget# PathFontTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_STANDARD_FONT_NAME_NV'
+-- * 'Graphics.GL.Tokens.GL_SYSTEM_FONT_NAME_NV'
+-- * 'Graphics.GL.Tokens.GL_FILE_NAME_NV'
+--
+-- === #PathGenMode# PathGenMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NONE'
+-- * 'Graphics.GL.Tokens.GL_EYE_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_PATH_OBJECT_BOUNDING_BOX_NV'
+-- * 'Graphics.GL.Tokens.GL_CONSTANT'
+--
+-- === #PathHandleMissingGlyphs# PathHandleMissingGlyphs
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SKIP_MISSING_GLYPH_NV'
+-- * 'Graphics.GL.Tokens.GL_USE_MISSING_GLYPH_NV'
+--
+-- === #PathListMode# PathListMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM_ADJACENT_PAIRS_NV'
+-- * 'Graphics.GL.Tokens.GL_ADJACENT_PAIRS_NV'
+-- * 'Graphics.GL.Tokens.GL_FIRST_TO_REST_NV'
+--
+-- === #PathMetricMask# PathMetricMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_GLYPH_WIDTH_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_HEIGHT_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_VERTICAL_BEARING_X_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_GLYPH_HAS_KERNING_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_X_MIN_BOUNDS_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_Y_MIN_BOUNDS_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_X_MAX_BOUNDS_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_Y_MAX_BOUNDS_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_UNITS_PER_EM_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_ASCENDER_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_DESCENDER_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_HEIGHT_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_UNDERLINE_POSITION_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_UNDERLINE_THICKNESS_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_HAS_KERNING_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_FONT_NUM_GLYPH_INDICES_BIT_NV'
+--
+-- === #PathParameter# PathParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PATH_STROKE_WIDTH_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_INITIAL_END_CAP_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_TERMINAL_END_CAP_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_JOIN_STYLE_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_MITER_LIMIT_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_INITIAL_DASH_CAP_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_TERMINAL_DASH_CAP_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_DASH_OFFSET_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_CLIENT_LENGTH_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_DASH_OFFSET_RESET_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_FILL_MODE_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_FILL_MASK_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_FILL_COVER_MODE_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_STROKE_COVER_MODE_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_STROKE_MASK_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_END_CAPS_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_DASH_CAPS_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_COMMAND_COUNT_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_COORD_COUNT_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_DASH_ARRAY_COUNT_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_COMPUTED_LENGTH_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_OBJECT_BOUNDING_BOX_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_FILL_BOUNDING_BOX_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_STROKE_BOUNDING_BOX_NV'
+--
+-- === #PathStringFormat# PathStringFormat
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PATH_FORMAT_SVG_NV'
+-- * 'Graphics.GL.Tokens.GL_PATH_FORMAT_PS_NV'
+--
+-- === #PathTransformType# PathTransformType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NONE'
+-- * 'Graphics.GL.Tokens.GL_TRANSLATE_X_NV'
+-- * 'Graphics.GL.Tokens.GL_TRANSLATE_Y_NV'
+-- * 'Graphics.GL.Tokens.GL_TRANSLATE_2D_NV'
+-- * 'Graphics.GL.Tokens.GL_TRANSLATE_3D_NV'
+-- * 'Graphics.GL.Tokens.GL_AFFINE_2D_NV'
+-- * 'Graphics.GL.Tokens.GL_AFFINE_3D_NV'
+-- * 'Graphics.GL.Tokens.GL_TRANSPOSE_AFFINE_2D_NV'
+-- * 'Graphics.GL.Tokens.GL_TRANSPOSE_AFFINE_3D_NV'
+--
+-- === #PipelineParameterName# PipelineParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_PROGRAM'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_SHADER'
+-- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER'
+-- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER'
+-- * 'Graphics.GL.Tokens.GL_INFO_LOG_LENGTH'
+--
+-- === #PixelCopyType# PixelCopyType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR' (alias: 'Graphics.GL.Tokens.GL_COLOR_EXT')
+-- * 'Graphics.GL.Tokens.GL_DEPTH' (alias: 'Graphics.GL.Tokens.GL_DEPTH_EXT')
+-- * 'Graphics.GL.Tokens.GL_STENCIL' (alias: 'Graphics.GL.Tokens.GL_STENCIL_EXT')
+--
+-- === #PixelFormat# PixelFormat
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ABGR_EXT'
+-- * 'Graphics.GL.Tokens.GL_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_BLUE'
+-- * 'Graphics.GL.Tokens.GL_CMYKA_EXT'
+-- * 'Graphics.GL.Tokens.GL_CMYK_EXT'
+-- * 'Graphics.GL.Tokens.GL_COLOR_INDEX'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT'
+-- * 'Graphics.GL.Tokens.GL_GREEN'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_RED' (alias: 'Graphics.GL.Tokens.GL_RED_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB'
+-- * 'Graphics.GL.Tokens.GL_RGBA'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_INDEX'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+-- * 'Graphics.GL.Tokens.GL_YCRCB_422_SGIX'
+-- * 'Graphics.GL.Tokens.GL_YCRCB_444_SGIX'
+--
+-- === #PixelMap# PixelMap
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S'
+--
+-- === #PixelStoreParameter# PixelStoreParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT_EXT')
+-- * 'Graphics.GL.Tokens.GL_PACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_OML'
+-- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_ROW_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES' (alias: 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES_EXT')
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_PIXELS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_ROWS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_SWAP_BYTES'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_SIZE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_OML'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH' (alias: 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SWAP_BYTES'
+--
+-- === #PixelStoreResampleMode# PixelStoreResampleMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_RESAMPLE_DECIMATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RESAMPLE_REPLICATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RESAMPLE_ZERO_FILL_SGIX'
+--
+-- === #PixelStoreSubsampleRate# PixelStoreSubsampleRate
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_2424_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_4242_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_4444_SGIX'
+--
+-- === #PixelTexGenMode# PixelTexGenMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_NONE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RGB'
+-- * 'Graphics.GL.Tokens.GL_RGBA'
+--
+-- === #PixelTexGenParameterNameSGIS# PixelTexGenParameterNameSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'
+--
+-- === #PixelTransferParameter# PixelTransferParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA_BIAS'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_SCALE'
+-- * 'Graphics.GL.Tokens.GL_BLUE_BIAS'
+-- * 'Graphics.GL.Tokens.GL_BLUE_SCALE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BIAS'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_SCALE'
+-- * 'Graphics.GL.Tokens.GL_GREEN_BIAS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_SCALE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_OFFSET'
+-- * 'Graphics.GL.Tokens.GL_INDEX_SHIFT'
+-- * 'Graphics.GL.Tokens.GL_MAP_COLOR'
+-- * 'Graphics.GL.Tokens.GL_MAP_STENCIL'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_RED_BIAS'
+-- * 'Graphics.GL.Tokens.GL_RED_SCALE'
+--
+-- === #PixelType# PixelType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BITMAP'
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE_3_3_2' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE_3_3_2_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10_10_10_2' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10_10_10_2_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_8_8_8_8' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_INT_8_8_8_8_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_4_4_4_4' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_4_4_4_4_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_5_5_5_1' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_5_5_5_1_EXT')
+--
+-- === #PointParameterNameSGIS# PointParameterNameSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_EXT' (aliases: 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_SGIS', 'Graphics.GL.Tokens.GL_POINT_DISTANCE_ATTENUATION', 'Graphics.GL.Tokens.GL_POINT_DISTANCE_ATTENUATION_ARB')
+-- * 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE' (aliases: 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_ARB', 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_EXT', 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_SGIS')
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX' (aliases: 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_ARB', 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_EXT', 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_SGIS')
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN' (aliases: 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_ARB', 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_EXT', 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_SGIS')
+--
+-- === #PolygonMode# PolygonMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILL'
+-- * 'Graphics.GL.Tokens.GL_LINE'
+-- * 'Graphics.GL.Tokens.GL_POINT'
+--
+-- === #PrecisionType# PrecisionType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LOW_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_MEDIUM_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_HIGH_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_LOW_INT'
+-- * 'Graphics.GL.Tokens.GL_MEDIUM_INT'
+-- * 'Graphics.GL.Tokens.GL_HIGH_INT'
+--
+-- === #PrimitiveType# PrimitiveType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LINES'
+-- * 'Graphics.GL.Tokens.GL_LINES_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_LINES_ADJACENCY_EXT')
+-- * 'Graphics.GL.Tokens.GL_LINE_LOOP'
+-- * 'Graphics.GL.Tokens.GL_LINE_STRIP'
+-- * 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY_EXT')
+-- * 'Graphics.GL.Tokens.GL_PATCHES' (alias: 'Graphics.GL.Tokens.GL_PATCHES_EXT')
+-- * 'Graphics.GL.Tokens.GL_POINTS'
+-- * 'Graphics.GL.Tokens.GL_POLYGON'
+-- * 'Graphics.GL.Tokens.GL_QUADS' (alias: 'Graphics.GL.Tokens.GL_QUADS_EXT')
+-- * 'Graphics.GL.Tokens.GL_QUAD_STRIP'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLES'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY_EXT')
+-- * 'Graphics.GL.Tokens.GL_TRIANGLE_FAN'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY_EXT')
+--
+-- === #ProgramInterface# ProgramInterface
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_UNIFORM'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_INPUT'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_OUTPUT'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_SUBROUTINE'
+-- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_SUBROUTINE'
+-- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SUBROUTINE'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_SUBROUTINE'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SUBROUTINE'
+-- * 'Graphics.GL.Tokens.GL_COMPUTE_SUBROUTINE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_SUBROUTINE_UNIFORM'
+-- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_SUBROUTINE_UNIFORM'
+-- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SUBROUTINE_UNIFORM'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_SUBROUTINE_UNIFORM'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SUBROUTINE_UNIFORM'
+-- * 'Graphics.GL.Tokens.GL_COMPUTE_SUBROUTINE_UNIFORM'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_VARYING'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_VARIABLE'
+-- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BLOCK'
+--
+-- === #ProgramInterfacePName# ProgramInterfacePName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_RESOURCES'
+-- * 'Graphics.GL.Tokens.GL_MAX_NAME_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_NUM_ACTIVE_VARIABLES'
+-- * 'Graphics.GL.Tokens.GL_MAX_NUM_COMPATIBLE_SUBROUTINES'
+--
+-- === #ProgramParameterPName# ProgramParameterPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_BINARY_RETRIEVABLE_HINT'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_SEPARABLE'
+--
+-- === #ProgramPropertyARB# ProgramPropertyARB
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DELETE_STATUS'
+-- * 'Graphics.GL.Tokens.GL_LINK_STATUS'
+-- * 'Graphics.GL.Tokens.GL_VALIDATE_STATUS'
+-- * 'Graphics.GL.Tokens.GL_INFO_LOG_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_ATTACHED_SHADERS'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_ATOMIC_COUNTER_BUFFERS'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_ATTRIBUTES'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_ATTRIBUTE_MAX_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_UNIFORMS'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_UNIFORM_BLOCKS'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_UNIFORM_MAX_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_COMPUTE_WORK_GROUP_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_BINARY_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER_MODE'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_VARYINGS'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_VERTICES_OUT'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_INPUT_TYPE'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_OUTPUT_TYPE'
+--
+-- === #ProgramStagePName# ProgramStagePName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_SUBROUTINE_UNIFORMS'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_SUBROUTINES'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_ACTIVE_SUBROUTINE_MAX_LENGTH'
+--
+-- === #QueryObjectParameterName# QueryObjectParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_QUERY_RESULT_AVAILABLE'
+-- * 'Graphics.GL.Tokens.GL_QUERY_RESULT'
+-- * 'Graphics.GL.Tokens.GL_QUERY_RESULT_NO_WAIT'
+-- * 'Graphics.GL.Tokens.GL_QUERY_TARGET'
+--
+-- === #QueryParameterName# QueryParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CURRENT_QUERY'
+-- * 'Graphics.GL.Tokens.GL_QUERY_COUNTER_BITS'
+--
+-- === #QueryTarget# QueryTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SAMPLES_PASSED'
+-- * 'Graphics.GL.Tokens.GL_ANY_SAMPLES_PASSED'
+-- * 'Graphics.GL.Tokens.GL_ANY_SAMPLES_PASSED_CONSERVATIVE'
+-- * 'Graphics.GL.Tokens.GL_PRIMITIVES_GENERATED'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN'
+-- * 'Graphics.GL.Tokens.GL_TIME_ELAPSED'
+--
+-- === #ReadBufferMode# ReadBufferMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AUX0'
+-- * 'Graphics.GL.Tokens.GL_AUX1'
+-- * 'Graphics.GL.Tokens.GL_AUX2'
+-- * 'Graphics.GL.Tokens.GL_AUX3'
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_BACK_LEFT'
+-- * 'Graphics.GL.Tokens.GL_BACK_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_LEFT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_LEFT'
+-- * 'Graphics.GL.Tokens.GL_RIGHT'
+--
+-- === #RenderbufferParameterName# RenderbufferParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_INTERNAL_FORMAT'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_SAMPLES'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_RED_SIZE'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_GREEN_SIZE'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_BLUE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_ALPHA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_DEPTH_SIZE'
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER_STENCIL_SIZE'
+--
+-- === #RenderbufferTarget# RenderbufferTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_RENDERBUFFER'
+--
+-- === #RenderingMode# RenderingMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK'
+-- * 'Graphics.GL.Tokens.GL_RENDER'
+-- * 'Graphics.GL.Tokens.GL_SELECT'
+--
+-- === #SamplePatternSGIS# SamplePatternSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_1PASS_EXT' (alias: 'Graphics.GL.Tokens.GL_1PASS_SGIS')
+-- * 'Graphics.GL.Tokens.GL_2PASS_0_EXT' (alias: 'Graphics.GL.Tokens.GL_2PASS_0_SGIS')
+-- * 'Graphics.GL.Tokens.GL_2PASS_1_EXT' (alias: 'Graphics.GL.Tokens.GL_2PASS_1_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_0_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_0_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_1_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_1_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_2_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_2_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_3_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_3_SGIS')
+--
+-- === #SamplerParameterName# SamplerParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_T'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAG_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_MODE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_FUNC'
+--
+-- === #SemaphoreParameterName# SemaphoreParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_D3D12_FENCE_VALUE_EXT'
+--
+-- === #SeparableTargetEXT# SeparableTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D' (alias: 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT')
+--
+-- === #ShaderParameterName# ShaderParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SHADER_TYPE'
+-- * 'Graphics.GL.Tokens.GL_DELETE_STATUS'
+-- * 'Graphics.GL.Tokens.GL_COMPILE_STATUS'
+-- * 'Graphics.GL.Tokens.GL_INFO_LOG_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_SHADER_SOURCE_LENGTH'
+--
+-- === #ShaderType# ShaderType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COMPUTE_SHADER'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_SHADER' (alias: 'Graphics.GL.Tokens.GL_VERTEX_SHADER_ARB')
+-- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER'
+-- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER'
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER' (alias: 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_ARB')
+--
+-- === #ShadingModel# ShadingModel
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLAT'
+-- * 'Graphics.GL.Tokens.GL_SMOOTH'
+--
+-- === #StencilFaceDirection# StencilFaceDirection
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+--
+-- === #StencilFunction# StencilFunction
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALWAYS'
+-- * 'Graphics.GL.Tokens.GL_EQUAL'
+-- * 'Graphics.GL.Tokens.GL_GEQUAL'
+-- * 'Graphics.GL.Tokens.GL_GREATER'
+-- * 'Graphics.GL.Tokens.GL_LEQUAL'
+-- * 'Graphics.GL.Tokens.GL_LESS'
+-- * 'Graphics.GL.Tokens.GL_NEVER'
+-- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
+--
+-- === #StencilOp# StencilOp
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DECR'
+-- * 'Graphics.GL.Tokens.GL_INCR'
+-- * 'Graphics.GL.Tokens.GL_INVERT'
+-- * 'Graphics.GL.Tokens.GL_KEEP'
+-- * 'Graphics.GL.Tokens.GL_REPLACE'
+-- * 'Graphics.GL.Tokens.GL_ZERO'
+--
+-- === #StringName# StringName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EXTENSIONS'
+-- * 'Graphics.GL.Tokens.GL_RENDERER'
+-- * 'Graphics.GL.Tokens.GL_VENDOR'
+-- * 'Graphics.GL.Tokens.GL_VERSION'
+-- * 'Graphics.GL.Tokens.GL_SHADING_LANGUAGE_VERSION'
+--
+-- === #SubroutineParameterName# SubroutineParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_NUM_COMPATIBLE_SUBROUTINES'
+-- * 'Graphics.GL.Tokens.GL_COMPATIBLE_SUBROUTINES'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_SIZE'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_NAME_LENGTH'
+--
+-- === #SyncCondition# SyncCondition
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SYNC_GPU_COMMANDS_COMPLETE'
+--
+-- === #SyncObjectMask# SyncObjectMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SYNC_FLUSH_COMMANDS_BIT' (alias: 'Graphics.GL.Tokens.GL_SYNC_FLUSH_COMMANDS_BIT_APPLE')
+--
+-- === #SyncParameterName# SyncParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_OBJECT_TYPE'
+-- * 'Graphics.GL.Tokens.GL_SYNC_STATUS'
+-- * 'Graphics.GL.Tokens.GL_SYNC_CONDITION'
+-- * 'Graphics.GL.Tokens.GL_SYNC_FLAGS'
+--
+-- === #SyncStatus# SyncStatus
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALREADY_SIGNALED'
+-- * 'Graphics.GL.Tokens.GL_TIMEOUT_EXPIRED'
+-- * 'Graphics.GL.Tokens.GL_CONDITION_SATISFIED'
+-- * 'Graphics.GL.Tokens.GL_WAIT_FAILED'
+--
+-- === #TexCoordPointerType# TexCoordPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+--
+-- === #TextureCoordName# TextureCoordName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_S'
+-- * 'Graphics.GL.Tokens.GL_T'
+-- * 'Graphics.GL.Tokens.GL_R'
+-- * 'Graphics.GL.Tokens.GL_Q'
+--
+-- === #TextureEnvMode# TextureEnvMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ADD'
+-- * 'Graphics.GL.Tokens.GL_BLEND'
+-- * 'Graphics.GL.Tokens.GL_DECAL'
+-- * 'Graphics.GL.Tokens.GL_MODULATE'
+-- * 'Graphics.GL.Tokens.GL_REPLACE_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_BIAS_SGIX'
+--
+-- === #TextureEnvParameter# TextureEnvParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_COLOR'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_MODE'
+--
+-- === #TextureEnvTarget# TextureEnvTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV'
+--
+-- === #TextureFilterFuncSGIS# TextureFilterFuncSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
+--
+-- === #TextureGenMode# TextureGenMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EYE_DISTANCE_TO_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_EYE_DISTANCE_TO_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_EYE_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_DISTANCE_TO_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_DISTANCE_TO_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_SPHERE_MAP'
+--
+-- === #TextureGenParameter# TextureGenParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EYE_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_EYE_PLANE'
+-- * 'Graphics.GL.Tokens.GL_EYE_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_PLANE'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_MODE'
+--
+-- === #TextureLayout# TextureLayout
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_GENERAL_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_COLOR_ATTACHMENT_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_SHADER_READ_ONLY_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_TRANSFER_SRC_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_TRANSFER_DST_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT'
+--
+-- === #TextureMagFilter# TextureMagFilter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_ALPHA_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_COLOR_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_ALPHA_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_COLOR_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_SGIS'
+-- * 'Graphics.GL.Tokens.GL_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_CEILING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_ROUND_SGIX'
+--
+-- === #TextureMinFilter# TextureMinFilter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_CLIPMAP_LINEAR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_CLIPMAP_NEAREST_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_MIPMAP_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_MIPMAP_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_CLIPMAP_LINEAR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_CLIPMAP_NEAREST_SGIX'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_MIPMAP_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_MIPMAP_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_CEILING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_ROUND_SGIX'
+--
+-- === #TextureParameterName# TextureParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_MODE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP' (alias: 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_SGIS')
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_QUAD_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SHADOW_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR_NV')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_CENTER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_FRAME_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAG_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY_EXT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_Q_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_OES')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_T'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL_SGIS')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_MODE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_FUNC'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD_SGIS')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD_SGIS')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL_SGIS')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_R'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_G'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_B'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_A'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_SWIZZLE_RGBA'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_TILING_EXT'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_STENCIL_TEXTURE_MODE'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4DSIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ALPHA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BLUE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_OPERATOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPONENTS' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_INTERNAL_FORMAT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_DEPTH_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_FILTER4_SIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEQUAL_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GREEN_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_INTENSITY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LEQUAL_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LUMINANCE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_RED_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_RESIDENT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WIDTH'
+--
+-- === #TextureStorageMaskAMD# TextureStorageMaskAMD
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_STORAGE_SPARSE_BIT_AMD'
+--
+-- === #TextureTarget# TextureTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_2D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D_ARRAY' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D_ARRAY_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_ARRAY' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_ARRAY_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_MULTISAMPLE'
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_3D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_3D_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP' (aliases: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_ARB', 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_ARRAY' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_RECTANGLE' (aliases: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_RECTANGLE_ARB', 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_RECTANGLE_NV')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_3D_OES')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_RECTANGLE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_POSITIVE_X'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_NEGATIVE_X'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_POSITIVE_Y'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_POSITIVE_Z'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY_ARB', 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_CUBE_MAP_ARRAY_OES')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_1D_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D_MULTISAMPLE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D_MULTISAMPLE_ARRAY'
+--
+-- === #TextureUnit# TextureUnit
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TEXTURE0'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE1'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE2'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE3'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE4'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE5'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE6'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE7'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE8'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE9'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE10'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE11'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE12'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE13'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE14'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE15'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE16'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE17'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE18'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE19'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE20'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE21'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE22'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE23'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE24'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE25'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE26'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE27'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE28'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE29'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE30'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE31'
+--
+-- === #TextureWrapMode# TextureWrapMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLAMP'
+-- * 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER' (aliases: 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_ARB', 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_NV', 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_SGIS')
+-- * 'Graphics.GL.Tokens.GL_CLAMP_TO_EDGE' (alias: 'Graphics.GL.Tokens.GL_CLAMP_TO_EDGE_SGIS')
+-- * 'Graphics.GL.Tokens.GL_REPEAT'
+--
+-- === #TransformFeedbackPName# TransformFeedbackPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER_BINDING'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER_START'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BUFFER_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_PAUSED'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_ACTIVE'
+--
+-- === #TypeEnum# TypeEnum
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_QUERY_WAIT'
+-- * 'Graphics.GL.Tokens.GL_QUERY_NO_WAIT'
+-- * 'Graphics.GL.Tokens.GL_QUERY_BY_REGION_WAIT'
+-- * 'Graphics.GL.Tokens.GL_QUERY_BY_REGION_NO_WAIT'
+--
+-- === #UniformBlockPName# UniformBlockPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_BINDING'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_DATA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_NAME_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER'
+--
+-- === #UniformPName# UniformPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_TYPE'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_SIZE'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_NAME_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BLOCK_INDEX'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_OFFSET'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_MATRIX_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_IS_ROW_MAJOR'
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX'
+--
+-- === #UseProgramStageMask# UseProgramStageMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_VERTEX_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_VERTEX_SHADER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER_BIT' (aliases: 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER_BIT_EXT', 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER_BIT_OES')
+-- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER_BIT' (aliases: 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER_BIT_EXT', 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER_BIT_OES')
+-- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER_BIT' (aliases: 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER_BIT_EXT', 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER_BIT_OES')
+-- * 'Graphics.GL.Tokens.GL_COMPUTE_SHADER_BIT'
+-- * 'Graphics.GL.Tokens.GL_ALL_SHADER_BITS' (alias: 'Graphics.GL.Tokens.GL_ALL_SHADER_BITS_EXT')
+--
+-- === #VertexArrayPName# VertexArrayPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_ENABLED'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_INTEGER'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_LONG'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_DIVISOR'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_RELATIVE_OFFSET'
+--
+-- === #VertexAttribEnum# VertexAttribEnum
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_ENABLED'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_INTEGER'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_DIVISOR'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_VERTEX_ATTRIB'
+--
+-- === #VertexAttribPointerType# VertexAttribPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_HALF_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_FIXED'
+-- * 'Graphics.GL.Tokens.GL_INT_2_10_10_10_REV'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_2_10_10_10_REV'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10F_11F_11F_REV'
+--
+-- === #VertexAttribType# VertexAttribType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_FIXED'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_HALF_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_INT_2_10_10_10_REV'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_2_10_10_10_REV'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10F_11F_11F_REV'
+--
+-- === #VertexBufferObjectParameter# VertexBufferObjectParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BUFFER_ACCESS'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_ACCESS_FLAGS'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_IMMUTABLE_STORAGE'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_MAPPED'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_MAP_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_MAP_OFFSET'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_SIZE'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_STORAGE_FLAGS'
+-- * 'Graphics.GL.Tokens.GL_BUFFER_USAGE'
+--
+-- === #VertexBufferObjectUsage# VertexBufferObjectUsage
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_STREAM_DRAW'
+-- * 'Graphics.GL.Tokens.GL_STREAM_READ'
+-- * 'Graphics.GL.Tokens.GL_STREAM_COPY'
+-- * 'Graphics.GL.Tokens.GL_STATIC_DRAW'
+-- * 'Graphics.GL.Tokens.GL_STATIC_READ'
+-- * 'Graphics.GL.Tokens.GL_STATIC_COPY'
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_DRAW'
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_READ'
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_COPY'
+--
+-- === #VertexPointerType# VertexPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+--
+-- === #VertexProvokingMode# VertexProvokingMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FIRST_VERTEX_CONVENTION'
+-- * 'Graphics.GL.Tokens.GL_LAST_VERTEX_CONVENTION'
diff --git a/src/Graphics/GL/KHR.hs b/src/Graphics/GL/KHR.hs
--- a/src/Graphics/GL/KHR.hs
+++ b/src/Graphics/GL/KHR.hs
@@ -19,6 +19,7 @@
   module Graphics.GL.KHR.DebugCompatibility,
   module Graphics.GL.KHR.DebugCore,
   module Graphics.GL.KHR.NoError,
+  module Graphics.GL.KHR.ParallelShaderCompile,
   module Graphics.GL.KHR.Robustness,
   module Graphics.GL.KHR.TextureCompressionASTCHDR,
   module Graphics.GL.KHR.TextureCompressionASTCLDR
@@ -30,6 +31,7 @@
 import Graphics.GL.KHR.DebugCompatibility
 import Graphics.GL.KHR.DebugCore
 import Graphics.GL.KHR.NoError
+import Graphics.GL.KHR.ParallelShaderCompile
 import Graphics.GL.KHR.Robustness
 import Graphics.GL.KHR.TextureCompressionASTCHDR
 import Graphics.GL.KHR.TextureCompressionASTCLDR
diff --git a/src/Graphics/GL/KHR/ParallelShaderCompile.hs b/src/Graphics/GL/KHR/ParallelShaderCompile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/ParallelShaderCompile.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.ParallelShaderCompile
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.ParallelShaderCompile (
+  -- * Extension Support
+  glGetKHRParallelShaderCompile,
+  gl_KHR_parallel_shader_compile,
+  -- * Enums
+  pattern GL_COMPLETION_STATUS_KHR,
+  pattern GL_MAX_SHADER_COMPILER_THREADS_KHR,
+  -- * Functions
+  glMaxShaderCompilerThreadsKHR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/MESA.hs b/src/Graphics/GL/MESA.hs
--- a/src/Graphics/GL/MESA.hs
+++ b/src/Graphics/GL/MESA.hs
@@ -14,12 +14,16 @@
 
 module Graphics.GL.MESA (
   module Graphics.GL.MESA.PackInvert,
+  module Graphics.GL.MESA.ProgramBinaryFormats,
   module Graphics.GL.MESA.ResizeBuffers,
+  module Graphics.GL.MESA.TileRasterOrder,
   module Graphics.GL.MESA.WindowPos,
   module Graphics.GL.MESA.YCbCrTexture
 ) where
 
 import Graphics.GL.MESA.PackInvert
+import Graphics.GL.MESA.ProgramBinaryFormats
 import Graphics.GL.MESA.ResizeBuffers
+import Graphics.GL.MESA.TileRasterOrder
 import Graphics.GL.MESA.WindowPos
 import Graphics.GL.MESA.YCbCrTexture
diff --git a/src/Graphics/GL/MESA/ProgramBinaryFormats.hs b/src/Graphics/GL/MESA/ProgramBinaryFormats.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESA/ProgramBinaryFormats.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESA.ProgramBinaryFormats
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESA.ProgramBinaryFormats (
+  -- * Extension Support
+  glGetMESAProgramBinaryFormats,
+  gl_MESA_program_binary_formats,
+  -- * Enums
+  pattern GL_PROGRAM_BINARY_FORMAT_MESA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/MESA/TileRasterOrder.hs b/src/Graphics/GL/MESA/TileRasterOrder.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESA/TileRasterOrder.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESA.TileRasterOrder
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESA.TileRasterOrder (
+  -- * Extension Support
+  glGetMESATileRasterOrder,
+  gl_MESA_tile_raster_order,
+  -- * Enums
+  pattern GL_TILE_RASTER_ORDER_FIXED_MESA,
+  pattern GL_TILE_RASTER_ORDER_INCREASING_X_MESA,
+  pattern GL_TILE_RASTER_ORDER_INCREASING_Y_MESA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV.hs b/src/Graphics/GL/NV.hs
--- a/src/Graphics/GL/NV.hs
+++ b/src/Graphics/GL/NV.hs
@@ -19,6 +19,7 @@
   module Graphics.GL.NV.BindlessTexture,
   module Graphics.GL.NV.BlendEquationAdvanced,
   module Graphics.GL.NV.BlendEquationAdvancedCoherent,
+  module Graphics.GL.NV.BlendMinmaxFactor,
   module Graphics.GL.NV.ClipSpaceWScaling,
   module Graphics.GL.NV.CommandList,
   module Graphics.GL.NV.ComputeProgram5,
@@ -64,6 +65,8 @@
   module Graphics.GL.NV.PointSprite,
   module Graphics.GL.NV.PresentVideo,
   module Graphics.GL.NV.PrimitiveRestart,
+  module Graphics.GL.NV.QueryResource,
+  module Graphics.GL.NV.QueryResourceTag,
   module Graphics.GL.NV.RegisterCombiners,
   module Graphics.GL.NV.RegisterCombiners2,
   module Graphics.GL.NV.RobustnessVideoMemoryPurge,
@@ -104,6 +107,7 @@
 import Graphics.GL.NV.BindlessTexture
 import Graphics.GL.NV.BlendEquationAdvanced
 import Graphics.GL.NV.BlendEquationAdvancedCoherent
+import Graphics.GL.NV.BlendMinmaxFactor
 import Graphics.GL.NV.ClipSpaceWScaling
 import Graphics.GL.NV.CommandList
 import Graphics.GL.NV.ComputeProgram5
@@ -149,6 +153,8 @@
 import Graphics.GL.NV.PointSprite
 import Graphics.GL.NV.PresentVideo
 import Graphics.GL.NV.PrimitiveRestart
+import Graphics.GL.NV.QueryResource
+import Graphics.GL.NV.QueryResourceTag
 import Graphics.GL.NV.RegisterCombiners
 import Graphics.GL.NV.RegisterCombiners2
 import Graphics.GL.NV.RobustnessVideoMemoryPurge
diff --git a/src/Graphics/GL/NV/BlendMinmaxFactor.hs b/src/Graphics/GL/NV/BlendMinmaxFactor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/BlendMinmaxFactor.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.BlendMinmaxFactor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.BlendMinmaxFactor (
+  -- * Extension Support
+  glGetNVBlendMinmaxFactor,
+  gl_NV_blend_minmax_factor,
+  -- * Enums
+  pattern GL_FACTOR_MAX_AMD,
+  pattern GL_FACTOR_MIN_AMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/PathRenderingCompatibility.hs b/src/Graphics/GL/NV/PathRenderingCompatibility.hs
--- a/src/Graphics/GL/NV/PathRenderingCompatibility.hs
+++ b/src/Graphics/GL/NV/PathRenderingCompatibility.hs
@@ -206,12 +206,31 @@
   glIsPathNV,
   glIsPointInFillPathNV,
   glIsPointInStrokePathNV,
+  glMatrixFrustumEXT,
   glMatrixLoad3x2fNV,
   glMatrixLoad3x3fNV,
+  glMatrixLoadIdentityEXT,
   glMatrixLoadTranspose3x3fNV,
+  glMatrixLoadTransposedEXT,
+  glMatrixLoadTransposefEXT,
+  glMatrixLoaddEXT,
+  glMatrixLoadfEXT,
   glMatrixMult3x2fNV,
   glMatrixMult3x3fNV,
   glMatrixMultTranspose3x3fNV,
+  glMatrixMultTransposedEXT,
+  glMatrixMultTransposefEXT,
+  glMatrixMultdEXT,
+  glMatrixMultfEXT,
+  glMatrixOrthoEXT,
+  glMatrixPopEXT,
+  glMatrixPushEXT,
+  glMatrixRotatedEXT,
+  glMatrixRotatefEXT,
+  glMatrixScaledEXT,
+  glMatrixScalefEXT,
+  glMatrixTranslatedEXT,
+  glMatrixTranslatefEXT,
   glPathColorGenNV,
   glPathCommandsNV,
   glPathCoordsNV,
diff --git a/src/Graphics/GL/NV/PathRenderingCore.hs b/src/Graphics/GL/NV/PathRenderingCore.hs
--- a/src/Graphics/GL/NV/PathRenderingCore.hs
+++ b/src/Graphics/GL/NV/PathRenderingCore.hs
@@ -191,12 +191,31 @@
   glIsPathNV,
   glIsPointInFillPathNV,
   glIsPointInStrokePathNV,
+  glMatrixFrustumEXT,
   glMatrixLoad3x2fNV,
   glMatrixLoad3x3fNV,
+  glMatrixLoadIdentityEXT,
   glMatrixLoadTranspose3x3fNV,
+  glMatrixLoadTransposedEXT,
+  glMatrixLoadTransposefEXT,
+  glMatrixLoaddEXT,
+  glMatrixLoadfEXT,
   glMatrixMult3x2fNV,
   glMatrixMult3x3fNV,
   glMatrixMultTranspose3x3fNV,
+  glMatrixMultTransposedEXT,
+  glMatrixMultTransposefEXT,
+  glMatrixMultdEXT,
+  glMatrixMultfEXT,
+  glMatrixOrthoEXT,
+  glMatrixPopEXT,
+  glMatrixPushEXT,
+  glMatrixRotatedEXT,
+  glMatrixRotatefEXT,
+  glMatrixScaledEXT,
+  glMatrixScalefEXT,
+  glMatrixTranslatedEXT,
+  glMatrixTranslatefEXT,
   glPathCommandsNV,
   glPathCoordsNV,
   glPathCoverDepthFuncNV,
diff --git a/src/Graphics/GL/NV/QueryResource.hs b/src/Graphics/GL/NV/QueryResource.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/QueryResource.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.QueryResource
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.QueryResource (
+  -- * Extension Support
+  glGetNVQueryResource,
+  gl_NV_query_resource,
+  -- * Enums
+  pattern GL_QUERY_RESOURCE_BUFFEROBJECT_NV,
+  pattern GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV,
+  pattern GL_QUERY_RESOURCE_RENDERBUFFER_NV,
+  pattern GL_QUERY_RESOURCE_SYS_RESERVED_NV,
+  pattern GL_QUERY_RESOURCE_TEXTURE_NV,
+  pattern GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV,
+  -- * Functions
+  glQueryResourceNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/QueryResourceTag.hs b/src/Graphics/GL/NV/QueryResourceTag.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/QueryResourceTag.hs
@@ -0,0 +1,24 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.QueryResourceTag
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.QueryResourceTag (
+  -- * Extension Support
+  glGetNVQueryResourceTag,
+  gl_NV_query_resource_tag,
+  -- * Functions
+  glDeleteQueryResourceTagNV,
+  glGenQueryResourceTagNV,
+  glQueryResourceTagNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Tokens.hs b/src/Graphics/GL/Tokens.hs
--- a/src/Graphics/GL/Tokens.hs
+++ b/src/Graphics/GL/Tokens.hs
@@ -739,12 +739,18 @@
 
 pattern GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002 :: GLbitfield
 
+pattern GL_CLIPPING_INPUT_PRIMITIVES = 0x82F6 :: GLenum
+
 pattern GL_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6 :: GLenum
 
+pattern GL_CLIPPING_OUTPUT_PRIMITIVES = 0x82F7 :: GLenum
+
 pattern GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7 :: GLenum
 
 pattern GL_CLIP_DEPTH_MODE = 0x935D :: GLenum
 
+pattern GL_CLIP_DEPTH_MODE_EXT = 0x935D :: GLenum
+
 pattern GL_CLIP_DISTANCE0 = 0x3000 :: GLenum
 
 pattern GL_CLIP_DISTANCE0_APPLE = 0x3000 :: GLenum
@@ -801,6 +807,8 @@
 
 pattern GL_CLIP_ORIGIN = 0x935C :: GLenum
 
+pattern GL_CLIP_ORIGIN_EXT = 0x935C :: GLenum
+
 pattern GL_CLIP_PLANE0 = 0x3000 :: GLenum
 
 pattern GL_CLIP_PLANE0_IMG = 0x3000 :: GLenum
@@ -1229,6 +1237,8 @@
 
 pattern GL_COMPLETION_STATUS_ARB = 0x91B1 :: GLenum
 
+pattern GL_COMPLETION_STATUS_KHR = 0x91B1 :: GLenum
+
 pattern GL_COMPRESSED_ALPHA = 0x84E9 :: GLenum
 
 pattern GL_COMPRESSED_ALPHA_ARB = 0x84E9 :: GLenum
@@ -1367,6 +1377,8 @@
 
 pattern GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C :: GLenum
 
+pattern GL_COMPRESSED_RGBA_BPTC_UNORM_EXT = 0x8E8C :: GLenum
+
 pattern GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1 :: GLenum
 
 pattern GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03 :: GLenum
@@ -1393,10 +1405,14 @@
 
 pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E :: GLenum
 
+pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT = 0x8E8E :: GLenum
+
 pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F :: GLenum
 
 pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F :: GLenum
 
+pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT = 0x8E8F :: GLenum
+
 pattern GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0 :: GLenum
 
 pattern GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01 :: GLenum
@@ -1531,6 +1547,8 @@
 
 pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D :: GLenum
 
+pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT = 0x8E8D :: GLenum
+
 pattern GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49 :: GLenum
 
 pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 0x8A56 :: GLenum
@@ -1575,6 +1593,8 @@
 
 pattern GL_COMPUTE_SHADER_BIT = 0x00000020 :: GLbitfield
 
+pattern GL_COMPUTE_SHADER_INVOCATIONS = 0x82F5 :: GLenum
+
 pattern GL_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5 :: GLenum
 
 pattern GL_COMPUTE_SUBROUTINE = 0x92ED :: GLenum
@@ -1655,6 +1675,8 @@
 
 pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001 :: GLbitfield
 
+pattern GL_CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008 :: GLbitfield
+
 pattern GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008 :: GLbitfield
 
 pattern GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT = 0x00000010 :: GLbitfield
@@ -2903,6 +2925,8 @@
 
 pattern GL_EXTENSIONS = 0x1F03 :: GLenum
 
+pattern GL_EXTERNAL_STORAGE_BIT_NVX = 0x2000 :: GLbitfield
+
 pattern GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160 :: GLenum
 
 pattern GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2 :: GLenum
@@ -3333,6 +3357,8 @@
 
 pattern GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66 :: GLenum
 
+pattern GL_FRAGMENT_SHADER_INVOCATIONS = 0x82F4 :: GLenum
+
 pattern GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4 :: GLenum
 
 pattern GL_FRAGMENT_SUBROUTINE = 0x92EC :: GLenum
@@ -3475,6 +3501,8 @@
 
 pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA :: GLenum
 
+pattern GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM = 0x8BFF :: GLenum
+
 pattern GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT = 0x9652 :: GLenum
 
 pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9 :: GLenum
@@ -3653,6 +3681,8 @@
 
 pattern GL_GEOMETRY_SHADER_OES = 0x8DD9 :: GLenum
 
+pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3 :: GLenum
+
 pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3 :: GLenum
 
 pattern GL_GEOMETRY_SUBROUTINE = 0x92EB :: GLenum
@@ -4423,6 +4453,10 @@
 
 pattern GL_LAYOUT_DEFAULT_INTEL = 0 :: GLenum
 
+pattern GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531 :: GLenum
+
+pattern GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530 :: GLenum
+
 pattern GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F :: GLenum
 
 pattern GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590 :: GLenum
@@ -4619,6 +4653,8 @@
 
 pattern GL_LOWER_LEFT = 0x8CA1 :: GLenum
 
+pattern GL_LOWER_LEFT_EXT = 0x8CA1 :: GLenum
+
 pattern GL_LOW_FLOAT = 0x8DF0 :: GLenum
 
 pattern GL_LOW_INT = 0x8DF3 :: GLenum
@@ -5605,6 +5641,8 @@
 
 pattern GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0 :: GLenum
 
+pattern GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0 :: GLenum
+
 pattern GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 0x8F63 :: GLenum
 
 pattern GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 0x8F67 :: GLenum
@@ -5791,6 +5829,8 @@
 
 pattern GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD :: GLenum
 
+pattern GL_MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF :: GLenum
+
 pattern GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF :: GLenum
 
 pattern GL_MAX_TEXTURE_SIZE = 0x0D33 :: GLenum
@@ -6207,6 +6247,8 @@
 
 pattern GL_NEGATIVE_ONE_TO_ONE = 0x935E :: GLenum
 
+pattern GL_NEGATIVE_ONE_TO_ONE_EXT = 0x935E :: GLenum
+
 pattern GL_NEGATIVE_W_EXT = 0x87DC :: GLenum
 
 pattern GL_NEGATIVE_X_EXT = 0x87D9 :: GLenum
@@ -6339,6 +6381,8 @@
 
 pattern GL_NUM_SPARSE_LEVELS_EXT = 0x91AA :: GLenum
 
+pattern GL_NUM_SPIR_V_EXTENSIONS = 0x9554 :: GLenum
+
 pattern GL_NUM_TILING_TYPES_EXT = 0x9582 :: GLenum
 
 pattern GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024 :: GLenum
@@ -6717,8 +6761,12 @@
 
 pattern GL_PARALLEL_ARRAYS_INTEL = 0x83F4 :: GLenum
 
+pattern GL_PARAMETER_BUFFER = 0x80EE :: GLenum
+
 pattern GL_PARAMETER_BUFFER_ARB = 0x80EE :: GLenum
 
+pattern GL_PARAMETER_BUFFER_BINDING = 0x80EF :: GLenum
+
 pattern GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF :: GLenum
 
 pattern GL_PARTIAL_SUCCESS_NV = 0x902E :: GLenum
@@ -6989,8 +7037,12 @@
 
 pattern GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED :: GLenum
 
+pattern GL_PIXEL_PACK_BUFFER_BINDING_NV = 0x88ED :: GLenum
+
 pattern GL_PIXEL_PACK_BUFFER_EXT = 0x88EB :: GLenum
 
+pattern GL_PIXEL_PACK_BUFFER_NV = 0x88EB :: GLenum
+
 pattern GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3 :: GLenum
 
 pattern GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4 :: GLenum
@@ -7049,8 +7101,12 @@
 
 pattern GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF :: GLenum
 
+pattern GL_PIXEL_UNPACK_BUFFER_BINDING_NV = 0x88EF :: GLenum
+
 pattern GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC :: GLenum
 
+pattern GL_PIXEL_UNPACK_BUFFER_NV = 0x88EC :: GLenum
+
 pattern GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2 :: GLenum
 
 pattern GL_PLUS_CLAMPED_NV = 0x92B1 :: GLenum
@@ -7155,6 +7211,8 @@
 
 pattern GL_POLYGON_OFFSET_BIAS_EXT = 0x8039 :: GLenum
 
+pattern GL_POLYGON_OFFSET_CLAMP = 0x8E1B :: GLenum
+
 pattern GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B :: GLenum
 
 pattern GL_POLYGON_OFFSET_COMMAND_NV = 0x000E :: GLenum
@@ -7303,6 +7361,8 @@
 
 pattern GL_PRIMITIVES_GENERATED_OES = 0x8C87 :: GLenum
 
+pattern GL_PRIMITIVES_SUBMITTED = 0x82EF :: GLenum
+
 pattern GL_PRIMITIVES_SUBMITTED_ARB = 0x82EF :: GLenum
 
 pattern GL_PRIMITIVE_BOUNDING_BOX = 0x92BE :: GLenum
@@ -7353,6 +7413,8 @@
 
 pattern GL_PROGRAM_BINARY_FORMATS_OES = 0x87FF :: GLenum
 
+pattern GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F :: GLenum
+
 pattern GL_PROGRAM_BINARY_LENGTH = 0x8741 :: GLenum
 
 pattern GL_PROGRAM_BINARY_LENGTH_OES = 0x8741 :: GLenum
@@ -7573,7 +7635,7 @@
 
 pattern GL_QUERY = 0x82E3 :: GLenum
 
-pattern GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF :: GLuint
+pattern GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF :: GLbitfield
 
 pattern GL_QUERY_BUFFER = 0x9192 :: GLenum
 
@@ -7603,11 +7665,11 @@
 
 pattern GL_QUERY_COUNTER_BITS_EXT = 0x8864 :: GLenum
 
-pattern GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008 :: GLuint
+pattern GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008 :: GLbitfield
 
-pattern GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002 :: GLuint
+pattern GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002 :: GLbitfield
 
-pattern GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001 :: GLuint
+pattern GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001 :: GLbitfield
 
 pattern GL_QUERY_KHR = 0x82E3 :: GLenum
 
@@ -7621,6 +7683,18 @@
 
 pattern GL_QUERY_OBJECT_EXT = 0x9153 :: GLenum
 
+pattern GL_QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547 :: GLenum
+
+pattern GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542 :: GLenum
+
+pattern GL_QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546 :: GLenum
+
+pattern GL_QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544 :: GLenum
+
+pattern GL_QUERY_RESOURCE_TEXTURE_NV = 0x9545 :: GLenum
+
+pattern GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540 :: GLenum
+
 pattern GL_QUERY_RESULT = 0x8866 :: GLenum
 
 pattern GL_QUERY_RESULT_ARB = 0x8866 :: GLenum
@@ -7637,7 +7711,7 @@
 
 pattern GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194 :: GLenum
 
-pattern GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004 :: GLuint
+pattern GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004 :: GLbitfield
 
 pattern GL_QUERY_TARGET = 0x82EA :: GLenum
 
@@ -8371,6 +8445,8 @@
 
 pattern GL_RIGHT = 0x0407 :: GLenum
 
+pattern GL_ROBUST_GPU_TIMEOUT_MS_KHR = 0x82FD :: GLenum
+
 pattern GL_ROUNDED_RECT2_NV = 0xEA :: GLubyte
 
 pattern GL_ROUNDED_RECT4_NV = 0xEC :: GLubyte
@@ -8691,6 +8767,8 @@
 
 pattern GL_SHADER_BINARY_FORMATS = 0x8DF8 :: GLenum
 
+pattern GL_SHADER_BINARY_FORMAT_SPIR_V = 0x9551 :: GLenum
+
 pattern GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551 :: GLenum
 
 pattern GL_SHADER_BINARY_VIV = 0x8FC4 :: GLenum
@@ -8949,8 +9027,12 @@
 
 pattern GL_SPHERE_MAP = 0x2402 :: GLenum
 
+pattern GL_SPIR_V_BINARY = 0x9552 :: GLenum
+
 pattern GL_SPIR_V_BINARY_ARB = 0x9552 :: GLenum
 
+pattern GL_SPIR_V_EXTENSIONS = 0x9553 :: GLenum
+
 pattern GL_SPOT_CUTOFF = 0x1206 :: GLenum
 
 pattern GL_SPOT_DIRECTION = 0x1204 :: GLenum
@@ -9347,6 +9429,8 @@
 
 pattern GL_TESS_CONTROL_SHADER_OES = 0x8E88 :: GLenum
 
+pattern GL_TESS_CONTROL_SHADER_PATCHES = 0x82F1 :: GLenum
+
 pattern GL_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1 :: GLenum
 
 pattern GL_TESS_CONTROL_SUBROUTINE = 0x92E9 :: GLenum
@@ -9369,6 +9453,8 @@
 
 pattern GL_TESS_EVALUATION_SHADER_EXT = 0x8E87 :: GLenum
 
+pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2 :: GLenum
+
 pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2 :: GLenum
 
 pattern GL_TESS_EVALUATION_SHADER_OES = 0x8E87 :: GLenum
@@ -9941,6 +10027,14 @@
 
 pattern GL_TEXTURE_FORMAT_QCOM = 0x8BD6 :: GLenum
 
+pattern GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM = 0x8BFB :: GLenum
+
+pattern GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM = 0x8BFD :: GLenum
+
+pattern GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM = 0x8BFC :: GLenum
+
+pattern GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM = 0x8BFE :: GLenum
+
 pattern GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC :: GLenum
 
 pattern GL_TEXTURE_GATHER = 0x82A2 :: GLenum
@@ -10041,6 +10135,8 @@
 
 pattern GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F :: GLenum
 
+pattern GL_TEXTURE_MAX_ANISOTROPY = 0x84FE :: GLenum
+
 pattern GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE :: GLenum
 
 pattern GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B :: GLenum
@@ -10223,6 +10319,12 @@
 
 pattern GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200 :: GLenum
 
+pattern GL_TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8 :: GLenum
+
+pattern GL_TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9 :: GLenum
+
+pattern GL_TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA :: GLenum
+
 pattern GL_TILING_TYPES_EXT = 0x9583 :: GLenum
 
 pattern GL_TIMEOUT_EXPIRED = 0x911B :: GLenum
@@ -10327,6 +10429,8 @@
 
 pattern GL_TRANSFORM_FEEDBACK_NV = 0x8E22 :: GLenum
 
+pattern GL_TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC :: GLenum
+
 pattern GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC :: GLenum
 
 pattern GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23 :: GLenum
@@ -10339,6 +10443,8 @@
 
 pattern GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86 :: GLenum
 
+pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED :: GLenum
+
 pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED :: GLenum
 
 pattern GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4 :: GLenum
@@ -10833,6 +10939,8 @@
 
 pattern GL_UPPER_LEFT = 0x8CA2 :: GLenum
 
+pattern GL_UPPER_LEFT_EXT = 0x8CA2 :: GLenum
+
 pattern GL_USE_MISSING_GLYPH_NV = 0x90AA :: GLenum
 
 pattern GL_UTF16_NV = 0x909B :: GLenum
@@ -11139,6 +11247,8 @@
 
 pattern GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1 :: GLenum
 
+pattern GL_VERTEX_SHADER_INVOCATIONS = 0x82F0 :: GLenum
+
 pattern GL_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0 :: GLenum
 
 pattern GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3 :: GLenum
@@ -11189,6 +11299,8 @@
 
 pattern GL_VERTICAL_LINE_TO_NV = 0x08 :: GLubyte
 
+pattern GL_VERTICES_SUBMITTED = 0x82EE :: GLenum
+
 pattern GL_VERTICES_SUBMITTED_ARB = 0x82EE :: GLenum
 
 pattern GL_VIBRANCE_BIAS_NV = 0x8719 :: GLenum
@@ -11448,6 +11560,8 @@
 pattern GL_ZERO_EXT = 0x87DD :: GLenum
 
 pattern GL_ZERO_TO_ONE = 0x935F :: GLenum
+
+pattern GL_ZERO_TO_ONE_EXT = 0x935F :: GLenum
 
 pattern GL_ZOOM_X = 0x0D16 :: GLenum
 
diff --git a/src/Graphics/GL/Version14.hs b/src/Graphics/GL/Version14.hs
--- a/src/Graphics/GL/Version14.hs
+++ b/src/Graphics/GL/Version14.hs
@@ -82,9 +82,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_SRC,
   pattern GL_BLEND_SRC_ALPHA,
   pattern GL_BLEND_SRC_RGB,
diff --git a/src/Graphics/GL/Version15.hs b/src/Graphics/GL/Version15.hs
--- a/src/Graphics/GL/Version15.hs
+++ b/src/Graphics/GL/Version15.hs
@@ -86,9 +86,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_SRC,
   pattern GL_BLEND_SRC_ALPHA,
   pattern GL_BLEND_SRC_RGB,
diff --git a/src/Graphics/GL/Version20.hs b/src/Graphics/GL/Version20.hs
--- a/src/Graphics/GL/Version20.hs
+++ b/src/Graphics/GL/Version20.hs
@@ -92,9 +92,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
diff --git a/src/Graphics/GL/Version21.hs b/src/Graphics/GL/Version21.hs
--- a/src/Graphics/GL/Version21.hs
+++ b/src/Graphics/GL/Version21.hs
@@ -92,9 +92,11 @@
   pattern GL_BITMAP,
   pattern GL_BITMAP_TOKEN,
   pattern GL_BLEND,
+  pattern GL_BLEND_COLOR,
   pattern GL_BLEND_DST,
   pattern GL_BLEND_DST_ALPHA,
   pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION,
   pattern GL_BLEND_EQUATION_ALPHA,
   pattern GL_BLEND_EQUATION_RGB,
   pattern GL_BLEND_SRC,
