diff --git a/OpenGLRaw.cabal b/OpenGLRaw.cabal
--- a/OpenGLRaw.cabal
+++ b/OpenGLRaw.cabal
@@ -1,5 +1,5 @@
 name: OpenGLRaw
-version: 1.5.0.1
+version: 2.0.0.0
 synopsis: A raw binding for the OpenGL graphics system
 description:
   OpenGLRaw is a raw Haskell binding for the OpenGL 3.2 graphics system and
@@ -30,6 +30,14 @@
 extra-source-files:
   README.md
   include/HsOpenGLRaw.h
+  RegistryProcessor/LICENSE
+  RegistryProcessor/RegistryProcessor.cabal
+  RegistryProcessor/Setup.hs
+  RegistryProcessor/src/DeclarationParser.hs
+  RegistryProcessor/src/Main.hs
+  RegistryProcessor/src/ManPages.hs
+  RegistryProcessor/src/MangledRegistry.hs
+  RegistryProcessor/src/Registry.hs
 
 flag UseNativeWindowsLibraries
   description:
@@ -132,9 +140,26 @@
     Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
     Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev
     Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
+    Graphics.Rendering.OpenGL.Raw.Compatibility30
+    Graphics.Rendering.OpenGL.Raw.Compatibility31
+    Graphics.Rendering.OpenGL.Raw.Compatibility32
+    Graphics.Rendering.OpenGL.Raw.Compatibility33
+    Graphics.Rendering.OpenGL.Raw.Compatibility40
+    Graphics.Rendering.OpenGL.Raw.Compatibility41
+    Graphics.Rendering.OpenGL.Raw.Compatibility42
+    Graphics.Rendering.OpenGL.Raw.Compatibility43
+    Graphics.Rendering.OpenGL.Raw.Compatibility44
+    Graphics.Rendering.OpenGL.Raw.Compatibility45
+    Graphics.Rendering.OpenGL.Raw.Core30
     Graphics.Rendering.OpenGL.Raw.Core31
-    Graphics.Rendering.OpenGL.Raw.Core31.Types
     Graphics.Rendering.OpenGL.Raw.Core32
+    Graphics.Rendering.OpenGL.Raw.Core33
+    Graphics.Rendering.OpenGL.Raw.Core40
+    Graphics.Rendering.OpenGL.Raw.Core41
+    Graphics.Rendering.OpenGL.Raw.Core42
+    Graphics.Rendering.OpenGL.Raw.Core43
+    Graphics.Rendering.OpenGL.Raw.Core44
+    Graphics.Rendering.OpenGL.Raw.Core45
     Graphics.Rendering.OpenGL.Raw.EXT
     Graphics.Rendering.OpenGL.Raw.EXT.ABGR
     Graphics.Rendering.OpenGL.Raw.EXT.BGRA
@@ -214,6 +239,7 @@
     Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
     Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
     Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
+    Graphics.Rendering.OpenGL.Raw.Functions
     Graphics.Rendering.OpenGL.Raw.GetProcAddress
     Graphics.Rendering.OpenGL.Raw.NV
     Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
@@ -259,13 +285,16 @@
     Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
     Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
     Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
+    Graphics.Rendering.OpenGL.Raw.Tokens
     Graphics.Rendering.OpenGL.Raw.Types
-  other-modules:
-    Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
-    Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
-    Graphics.Rendering.OpenGL.Raw.Core31.Functions
-    Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-    Graphics.Rendering.OpenGL.Raw.Extensions
+    Graphics.Rendering.OpenGL.Raw.Version10
+    Graphics.Rendering.OpenGL.Raw.Version11
+    Graphics.Rendering.OpenGL.Raw.Version12
+    Graphics.Rendering.OpenGL.Raw.Version13
+    Graphics.Rendering.OpenGL.Raw.Version14
+    Graphics.Rendering.OpenGL.Raw.Version15
+    Graphics.Rendering.OpenGL.Raw.Version20
+    Graphics.Rendering.OpenGL.Raw.Version21
   c-sources:
     cbits/HsOpenGLRaw.c
   hs-source-dirs: src
diff --git a/RegistryProcessor/LICENSE b/RegistryProcessor/LICENSE
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) 2015, Sven Panne
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Sven Panne nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/RegistryProcessor/RegistryProcessor.cabal b/RegistryProcessor/RegistryProcessor.cabal
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/RegistryProcessor.cabal
@@ -0,0 +1,27 @@
+name: RegistryProcessor
+version: 0.1.0.0
+synopsis: A processor for the OpenGL Registry
+description: A tool for generating OpenGLRaw from the OpenGL Registry
+license: BSD3
+license-file: LICENSE
+author: Sven Panne
+maintainer: Sven Panne <svenpanne@gmail.com>
+category: Graphics
+build-type: Simple
+extra-source-files:
+  TODO
+  registry/egl.xml
+  registry/gl.xml
+  registry/glx.xml
+  registry/registry.rnc
+  registry/registry.rng
+  registry/wgl.xml
+cabal-version: >=1.10
+
+executable RegistryProcessor
+  main-is: Main.hs
+  other-modules: DeclarationParser ManPages MangledRegistry Registry
+  build-depends: base >= 3 && < 5, containers >= 0.5 && < 0.6, hxt >= 9.3
+  hs-source-dirs: src
+  default-language: Haskell2010
+  ghc-options: -Wall
diff --git a/RegistryProcessor/Setup.hs b/RegistryProcessor/Setup.hs
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/RegistryProcessor/src/DeclarationParser.hs b/RegistryProcessor/src/DeclarationParser.hs
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/src/DeclarationParser.hs
@@ -0,0 +1,84 @@
+-- A very simple-minded parser for C declarations of the following syntax:
+--   "const"? type-specifier ("*" "const"?)* identifier ("[" number "]")?
+module DeclarationParser ( parse ) where
+
+import Control.Monad
+import Data.Char
+import Text.ParserCombinators.ReadP
+
+parse :: String -> Either String (String, Int)
+parse s =
+  case readP_to_S parseDeclaration s of
+    [(x, "")] -> Right x
+    _ -> Left $ "could not parse \"" ++ s ++ "\""
+
+parseDeclaration :: ReadP (String, Int)
+parseDeclaration = do
+  optionalConst
+  typeSpec <- parseTypeSpecifier
+  pointers <- many' (token "*" >> optionalConst)
+  _ <- parseIdentifier
+  a <- parseArray
+  skipSpaces
+  return (typeSpec, length pointers + a)
+
+optionalConst :: ReadP ()
+optionalConst = option' () (token "const" >> return ())
+
+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 ]
+
+parseIdentifier :: ReadP String
+parseIdentifier = do
+  skipSpaces
+  x <- satisfy (\c -> isAlpha c || c == '_')
+  xs <- munch (\c ->isAlphaNum c || c == '_')
+  return (x:xs)
+
+parseArray :: ReadP Int
+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
+
+option' :: a -> ReadP a -> ReadP a
+option' x p = choice' [p, return x]
+
+many' :: ReadP a -> ReadP [a]
+many' = option' [] . many1'
+
+many1' :: ReadP a -> ReadP [a]
+many1' p = liftM2 (:) p (many' p)
diff --git a/RegistryProcessor/src/Main.hs b/RegistryProcessor/src/Main.hs
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/src/Main.hs
@@ -0,0 +1,277 @@
+module Main ( main ) where
+
+import qualified Control.Monad as CM
+import qualified Data.Char as C
+import qualified Data.List as L
+import qualified Data.Map as M
+import qualified Data.Maybe as DM
+import qualified Data.Set as S
+import qualified System.Console.GetOpt as G
+import qualified System.Environment as E
+import MangledRegistry
+import ManPages
+
+data Option
+  = PrintFeature
+  | PrintTokens
+  | PrintFunctions
+  | UseApi API
+  | UseVersion Version
+  | UseProfile ProfileName
+  deriving Eq
+
+options :: [G.OptDescr Option]
+options =
+  [ G.Option ['F'] ["print-feature"] (G.NoArg PrintFeature) "print feature"
+  , G.Option ['t'] ["print-tokens"] (G.NoArg PrintTokens) "print tokens"
+  , G.Option ['f'] ["print-functions"] (G.NoArg PrintFunctions) "print functions"
+  , G.Option ['a'] ["api"] (G.ReqArg (UseApi . API) "API") "extract features for API (default: gl)"
+  , G.Option ['v'] ["version"] (G.ReqArg (UseVersion . read) "VERSION") "extract features for version (default: 4.5)"
+  , G.Option ['p'] ["profile"] (G.ReqArg (UseProfile . ProfileName) "PROFILE") "extract features for profile (default: compatibility)" ]
+
+getPaths :: IO ([Option], FilePath)
+getPaths = do
+  args <- E.getArgs
+  case G.getOpt G.Permute options args of
+    (opts, [path], []) -> return (opts, path)
+    (_, _, errs) -> do
+       n <- E.getProgName
+       let header = "Usage: " ++ n ++ " [OPTION]... file"
+       ioError (userError (concat errs ++ G.usageInfo header options))
+
+main :: IO ()
+main = do
+  (opts, path) <- getPaths
+  let api = head ([ a | UseApi a <- opts ] ++ [ API "gl" ])
+      version = head ([ v | UseVersion v <- opts ] ++ [ read "4.5" ])
+      profile = head ([ p | UseProfile p <- opts ] ++ [ ProfileName "compatibility" ])
+  res <- fmap parseRegistry $ readFile path
+  case res of
+    Left msg -> putStrLn msg
+    Right registry -> do
+      CM.when (PrintFeature `elem` opts) $ do
+        let modName = "Graphics.Rendering.OpenGL.Raw." ++
+                      capitalize (unProfileName profile) ++
+                      show (major version) ++ show (minor version)
+        putStrLn "--------------------------------------------------------------------------------"
+        putStrLn "-- |"
+        putStrLn $ "-- Module      :  " ++ modName
+        putStrLn "-- Copyright   :  (c) Sven Panne 2015"
+        putStrLn "-- License     :  BSD3"
+        putStrLn "--"
+        putStrLn "-- Maintainer  :  Sven Panne <svenpanne@gmail.com>"
+        putStrLn "-- Stability   :  stable"
+        putStrLn "-- Portability :  portable"
+        putStrLn "--"
+        putStrLn "--------------------------------------------------------------------------------"
+        putStrLn ""
+        let (ts,es,cs) = fixedGetTyEnCo api version profile registry
+        putStrLn $ "module "++ modName ++ " ("
+        CM.unless (null ts) $ do
+          putStrLn "  -- * Types"
+          putStr $ separate unTypeName ts
+          putStrLn $ if null es && null cs then "" else ","
+        CM.unless (null es) $ do
+          putStrLn "  -- * Enums"
+          putStr $ separate (unEnumName . enumName) es
+          putStrLn $ if null cs then "" else ","
+        CM.unless (null cs) $ do
+          putStrLn "  -- * Functions"
+          putStr $ separate (unCommandName . commandName) cs
+        putStrLn ""
+        putStrLn ") where"
+        putStrLn ""
+        putStrLn "import Graphics.Rendering.OpenGL.Raw.Types"
+        putStrLn "import Graphics.Rendering.OpenGL.Raw.Tokens"
+        putStrLn "import Graphics.Rendering.OpenGL.Raw.Functions"
+      CM.when (PrintTokens `elem` opts) $ do
+        putStrLn "--------------------------------------------------------------------------------"
+        putStrLn "-- |"
+        putStrLn "-- Module      :  Graphics.Rendering.OpenGL.Raw.Tokens"
+        putStrLn "-- Copyright   :  (c) Sven Panne 2015"
+        putStrLn "-- License     :  BSD3"
+        putStrLn "--"
+        putStrLn "-- Maintainer  :  Sven Panne <svenpanne@gmail.com>"
+        putStrLn "-- Stability   :  stable"
+        putStrLn "-- Portability :  portable"
+        putStrLn "--"
+        putStrLn "-- All enumeration tokens from the OpenGL registry, see"
+        putStrLn "-- <http://www.opengl.org/registry/>."
+        putStrLn "--"
+        putStrLn "--------------------------------------------------------------------------------"
+        putStrLn ""
+        putStrLn "module Graphics.Rendering.OpenGL.Raw.Tokens where"
+        putStrLn ""
+        putStrLn "import Graphics.Rendering.OpenGL.Raw.Types"
+        putStrLn ""
+        mapM_ (putStrLn . unlines . convertEnum)
+          [ e
+          | es <- M.elems (enums registry)
+          , e <- es
+          , api `matches` enumAPI e ]
+      CM.when (PrintFunctions `elem` opts) $ do
+        putStrLn "{-# LANGUAGE CPP #-}"
+        putStrLn "--------------------------------------------------------------------------------"
+        putStrLn "-- |"
+        putStrLn "-- Module      :  Graphics.Rendering.OpenGL.Raw.Functions"
+        putStrLn "-- Copyright   :  (c) Sven Panne 2015"
+        putStrLn "-- License     :  BSD3"
+        putStrLn "--"
+        putStrLn "-- Maintainer  :  Sven Panne <svenpanne@gmail.com>"
+        putStrLn "-- Stability   :  stable"
+        putStrLn "-- Portability :  portable"
+        putStrLn "--"
+        putStrLn "-- All raw functions from the OpenGL registry, see"
+        putStrLn "-- <http://www.opengl.org/registry/>."
+        putStrLn "--"
+        putStrLn "--------------------------------------------------------------------------------"
+        putStrLn ""
+        putStrLn "module Graphics.Rendering.OpenGL.Raw.Functions ("
+        putStrLn . separate unCommandName . M.keys . commands $registry
+        putStrLn ") where"
+        putStrLn ""
+        putStrLn "import Foreign.C.Types"
+        putStrLn "import Foreign.Marshal.Error ( throwIf )"
+        putStrLn "import Foreign.Ptr ( Ptr, FunPtr, nullFunPtr )"
+        putStrLn "import System.IO.Unsafe ( unsafePerformIO )"
+        putStrLn ""
+        putStrLn "import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getProcAddress )"
+        putStrLn "import Graphics.Rendering.OpenGL.Raw.Types"
+        putStrLn ""
+        putStrLn "getCommand :: String -> IO (FunPtr a)"
+        putStrLn "getCommand cmd ="
+        putStrLn "  throwIfNullFunPtr (\"unknown OpenGL command \" ++ cmd) $ getProcAddress cmd"
+        putStrLn ""
+        putStrLn "throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)"
+        putStrLn "throwIfNullFunPtr = throwIf (== nullFunPtr) . const"
+        putStrLn ""
+        mapM_ (putStrLn . showCommand api) (M.elems (commands registry))
+
+capitalize :: String -> String
+capitalize str = C.toUpper (head str) : tail str
+
+separate :: (a -> String) -> [a] -> String
+separate f = L.intercalate ",\n" . map ("  " ++) . map f
+
+-- Annoyingly enough, the OpenGL registry doesn't contain any enums for
+-- OpenGL 1.0, so let's just use the OpenGL 1.1 ones.
+fixedGetTyEnCo :: API -> Version -> ProfileName -> Registry -> ([TypeName],[Enum'],[Command])
+fixedGetTyEnCo api version profile registry
+  | api == API "gl" && version == read "1.0" = (ts, es11, cs)
+  | otherwise = tec
+  where tec@(ts, _, cs) = getTyEnCo api version profile registry
+        (_, es11, _) = getTyEnCo api (read "1.1") profile registry
+
+getTyEnCo :: API -> Version -> ProfileName -> Registry -> ([TypeName],[Enum'],[Command])
+getTyEnCo api version profile registry = (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 ]
+        -- Features don't explicitly list the types referenced by commands.
+        ts' = S.toList . S.unions  $ S.fromList ts : map referencedTypes cs
+        lst = S.toList $ interfaceElementsFor api version profile registry
+
+-- Here is the heart of the feature construction logic: Chronologically replay
+-- the whole version history for the given API/version/profile triple.
+interfaceElementsFor :: API -> Version -> ProfileName -> Registry -> S.Set InterfaceElement
+interfaceElementsFor api version profile registry =
+  foldl (flip ($)) S.empty modificationsFor
+  where modificationsFor =
+          [ op (modificationKind m) ie
+          | key <- L.sort keys
+          , m <- lookup' key (features registry)
+          , profile `matches` modificationProfile m
+          , ie <- modificationInterfaceElements m ]
+        keys = [ key
+               | key@(a,v) <- M.keys (features registry)
+               , a == api
+               , v <= version ]
+        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
+
+matches :: Eq a => a -> Maybe a -> Bool
+_ `matches` Nothing = True
+s `matches` Just t = s == t
+
+convertEnum :: Enum' -> [String]
+convertEnum e =
+  [ n ++ " :: " ++ unTypeName (enumType e)
+  , n ++ " = " ++ unEnumValue (enumValue e) ]
+  where n = unEnumName . enumName $ e
+
+showCommand :: API -> Command -> String
+showCommand api c =
+  showString (take 80 ("-- " ++ name ++ " " ++ repeat '-') ++ "\n\n") .
+
+  showString man .
+
+  showString (name ++ "\n") .
+  showString ("  :: " ++ signature True) .
+  showString (name ++ " = " ++ dyn_name ++ " " ++ ptr_name ++ "\n\n") .
+
+  showString ("foreign import CALLCONV unsafe \"dynamic\" " ++ dyn_name ++ "\n" ++
+              "  :: FunPtr (" ++ compactSignature ++ ")\n" ++
+              "  ->         " ++ compactSignature ++ "\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 = "dyn_" ++ name
+        ptr_name = "ptr_" ++ name
+        str_name = show name
+        compactSignature = signature False
+        signature withComment =
+          L.intercalate ((if withComment then " " else "") ++ " -> ")
+            ([showSignatureElement withComment False t | t <- paramTypes c] ++
+             [showSignatureElement withComment True (resultType c)])
+        urls = M.findWithDefault [] (api, CommandName name) manPageURLs
+        links = L.intercalate " or " (map renderURL urls)  ++ "\n"
+        man = case urls of
+                []  -> ""
+                [_] ->  "-- | Manual page for "  ++ links
+                _   ->  "-- | Manual pages for " ++ links
+        renderURL (u, l) = "<" ++ u ++ " " ++ l ++ ">"
+
+showSignatureElement :: Bool -> Bool -> SignatureElement -> String
+showSignatureElement withComment isResult sigElem = el ++ comment
+  where el | isResult  = "IO " ++ showsPrec 11 sigElem ""
+           | otherwise = show sigElem
+        comment | withComment = showComment name sigElem
+                | otherwise   = ""
+        name | isResult  = ""
+             | otherwise = signatureElementName sigElem
+
+showComment :: String -> SignatureElement -> String
+showComment name sigElem
+  | null name' && null info = "\n"
+  | otherwise = " -- ^" ++ name' ++ info ++ ".\n"
+
+  where name' | null name = ""
+              | otherwise = " " ++ inlineCode name
+
+        info | isInteresting = elms ++ " of type " ++ inlineCode (show (base sigElem))
+             | otherwise     = ""
+
+        isInteresting = DM.isJust (arrayLength sigElem) || DM.isJust (belongsToGroup sigElem)
+
+        elms | numPointer sigElem > 0 = " pointing to" ++ len ++ " elements"
+             | otherwise = ""
+
+        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)
+
+inlineCode :: String -> String
+inlineCode s = "@" ++ s ++ "@"
diff --git a/RegistryProcessor/src/ManPages.hs b/RegistryProcessor/src/ManPages.hs
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/src/ManPages.hs
@@ -0,0 +1,1709 @@
+-- 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"),
+  ("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"),
+  ("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
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/src/MangledRegistry.hs
@@ -0,0 +1,295 @@
+module MangledRegistry (
+  parseRegistry,
+  Registry(..),
+  Type(..),
+  Group(..),
+  Enum'(..),
+  R.TypeName(..),
+  Command(..), commandName,
+  SignatureElement(..),
+  Modification(..),
+  R.ModificationKind(..),
+  R.ProfileName(..),
+  Extension(..),
+  InterfaceElement(..),
+  GroupName(..),
+  EnumName(..),
+  EnumValue(..),
+  CommandName(..),
+  API(..),
+  Version(..)
+) where
+
+import qualified Data.Char as C
+import qualified Data.List as L
+import qualified Data.Map as M
+import qualified Data.Maybe as DM
+import qualified Data.Set as S
+import qualified Numeric as N
+
+import qualified DeclarationParser as D
+import qualified Registry as R
+
+parseRegistry :: String -> Either String Registry
+parseRegistry = fmap toRegistry . R.parseRegistry
+
+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 :: R.Registry -> Registry
+toRegistry 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' (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' =
+  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)
+
+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 }
+
+data Group = Group {
+  groupEnums :: [EnumName]
+  } deriving (Eq, Ord, Show)
+
+toGroup :: R.Group -> Group
+toGroup g = Group {
+  groupEnums = map (mangleEnumName . 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
+  } deriving (Eq, Ord, Show)
+
+toEnum' :: Maybe String -> Maybe String -> Maybe String -> R.Enum' -> Enum'
+toEnum' eNamespace eGroup eType  e = Enum {
+  enumValue = EnumValue (R.enumValue e),
+  enumAPI = API `fmap` R.enumAPI e,
+  enumType = toEnumType eNamespace eGroup eType (R.enumType e),
+  enumName = mangleEnumName (R.enumName e) }
+
+mangleEnumName :: String -> EnumName
+mangleEnumName =
+  EnumName . L.intercalate [splitChar] . headToLower . splitBy (== splitChar)
+  where splitChar = '_'
+        headToLower xs = map C.toLower (head xs) : tail xs
+
+splitBy :: (a -> Bool) -> [a] -> [[a]]
+splitBy _ [] = []
+splitBy p xs = case break p xs of
+                (ys, []  ) -> [ys]
+                (ys, _:zs) -> ys : splitBy p zs
+
+-- TODO: Use Either instead of error below?
+toEnumType :: Maybe String -> Maybe String -> Maybe String -> Maybe R.TypeSuffix -> R.TypeName
+toEnumType eNamespace eGroup eType suffix = R.TypeName $
+  case (eNamespace, eGroup, eType, R.unTypeSuffix `fmap` suffix) of
+    -- glx.xml
+    (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 "WGLDXInteropMaskNV", _, _, _) -> "GLenum"
+    (Just ('W':'G':'L':_), _, _, _) -> "CInt"
+
+    -- gl.xml
+    (Just "OcclusionQueryEventMaskAMD", _, _, _) -> "GLuint"
+    (Just "GL", Just "PathRenderingTokenNV", _, _) -> "GLubyte"
+    (Just "GL", _, Just "bitmask", _) -> "GLbitfield"
+    (Just "GL", _, Nothing, Just "u") -> "GLuint"
+    (Just "GL", _, Nothing, Just "ull") -> "GLuint64"
+    (Just "GL", _, Nothing, Nothing) -> "GLenum"
+
+    (_, _, _, _) -> error "can't determine enum type"
+
+data Command = Command {
+  resultType :: SignatureElement,
+  paramTypes :: [SignatureElement],
+  referencedTypes :: S.Set R.TypeName
+  } deriving (Eq, Ord, Show)
+
+toCommand :: R.Command -> Command
+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) }
+  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 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
+  } 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 " -> "
+
+-- We want to get 'Ptr a' instead of 'Ptr ()', so we might have to rename.
+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})) $
+  D.parse $
+  L.intercalate " " $
+  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 False varSupply ct = (varSupply, ct)
+renameIf True  varSupply ct = (tail varSupply, ct{ baseType = head varSupply })
+
+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) }
+
+data Extension = Extension
+  deriving (Eq, Ord, Show)
+
+toExtension :: R.Extension -> Extension
+toExtension _ = Extension
+
+data InterfaceElement
+  = TypeElement R.TypeName
+  | EnumElement EnumName
+  | CommandElement CommandName
+  deriving (Eq, Ord, Show)
+
+toInterfaceElement :: R.InterfaceElement -> InterfaceElement
+toInterfaceElement i =
+  (case R.interfaceElementKind i of
+     R.InterfaceElementType -> TypeElement . R.TypeName
+     R.InterfaceElementEnum -> EnumElement . mangleEnumName
+     R.InterfaceElementCommand -> CommandElement . CommandName)
+  (R.unName (R.interfaceElementName i))
+
+newtype GroupName = GroupName { unGroupName :: 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 CommandName = CommandName { unCommandName :: String } deriving (Eq, Ord, Show)
+
+newtype API = API { unAPI :: String } deriving (Eq, Ord, Show)
+
+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 ]
diff --git a/RegistryProcessor/src/Registry.hs b/RegistryProcessor/src/Registry.hs
new file mode 100644
--- /dev/null
+++ b/RegistryProcessor/src/Registry.hs
@@ -0,0 +1,529 @@
+-- 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
+
+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))
+
+unparseRegistry :: Registry -> String
+unparseRegistry =
+  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]
+  } deriving (Eq, Ord, Show)
+
+xpRegistry :: PU Registry
+xpRegistry =
+  xpWrap (Registry, unRegistry) $
+  xpElem "registry" $
+  xpList xpRegistryElement
+
+data RegistryElement
+  = CommentElement { unCommentElement :: Comment }
+  | TypesElement { unTypesElement:: Types }
+  | GroupsElement { unGroupsElement :: Groups }
+  | EnumsElement { unEnumsElement :: Enums }
+  | CommandsElement { unCommandsElement :: Commands }
+  | FeatureElement { unFeatureElement :: Feature }
+  | ExtensionsElement { unExtensionsElement :: Extensions }
+  deriving (Eq, Ord, Show)
+
+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 ]
+
+newtype Types = Types {
+  unTypes :: [Type]
+  } deriving (Eq, Ord, Show)
+
+xpTypes :: PU Types
+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
+  } 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)) $
+  xpElem "type" $
+  xp10Tuple
+    (xpAttrImplied "api" xpText)
+    (xpAttrImplied "requires" xpText)
+    (xpAttrImplied "name" xpTypeName)
+    (xpAttrImplied "type" xpText)
+    (xpOption xpCommentAttr)
+    xpText0
+    (xpOption $ xpElem "apientry" xpText0)
+    xpText0
+    (xpOption $ xpElem "name" xpTypeName)
+    xpText0
+
+newtype Groups = Groups {
+  unGroups :: [Group]
+  } deriving (Eq, Ord, Show)
+
+xpGroups :: PU Groups
+xpGroups =
+  xpWrap (Groups, unGroups) $
+  xpElem "groups" $
+  xpList xpGroup
+
+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)) $
+  xpElem "group" $
+  xpTriple
+    xpName
+    (xpOption xpCommentAttr)
+    (xpList $ xpElem "enum" xpName)
+
+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]
+  } 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)) $
+  xpElem "enums" $
+  xp8Tuple
+    (xpAttrImplied "namespace" xpText)
+    (xpAttrImplied "group" xpText)
+    (xpAttrImplied "type" xpText)
+    (xpAttrImplied "start" xpInteger)
+    (xpAttrImplied "end" xpInteger)
+    (xpOption xpVendor)
+    (xpOption xpCommentAttr)
+    (xpList $ xpEither xpEnum xpUnused)
+
+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 ]
+
+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)) $
+  xpElem "enum" $
+  xp6Tuple
+    (xpAttr "value" xpText)
+    (xpAttrImplied "api" xpText)
+    (xpAttrImplied "type" xpTypeSuffix)
+    (xpAttr "name" xpText)
+    (xpAttrImplied "alias" xpText)
+    (xpOption xpCommentAttr)
+
+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)) $
+  xpElem "unused" $
+  xp4Tuple
+    (xpAttr "start" xpInteger)
+    (xpAttrImplied "end" xpInteger)
+    (xpOption xpVendor)
+    (xpOption xpCommentAttr)
+
+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)) $
+  xpElem "commands" $
+  xpPair
+    (xpAttrImplied "namespace" xpText)
+    (xpList xpCommand)
+
+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))) $
+  xpElem "command" $
+  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"
+
+data CommandTail
+  = AliasElement { unAliasElement :: Name }
+  | VecEquivElement { unVecEquivElement :: Name }
+  | GLXElement { unGLXElement :: GLX }
+  deriving (Eq, Ord, Show)
+
+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)) $
+  xpElem "proto" $
+  xp6Tuple
+    (xpAttrImplied "group" xpText)
+    xpText0
+    (xpOption $ xpElem "ptype" xpTypeName)
+    xpText0
+    (xpElem "name" xpText)
+    xpText0
+
+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)) $
+  xpElem "param" $
+  xp7Tuple
+    (xpAttrImplied "group" xpText)
+    (xpAttrImplied "len" xpText)
+    xpText0
+    (xpOption $ xpElem "ptype" xpTypeName)
+    xpText0
+    (xpElem "name" xpText)
+    xpText0
+
+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)) $
+  xpElem "glx" $
+  xp4Tuple
+    (xpAttr "type" xpText)
+    (xpAttr "opcode" xpInt)
+    (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]
+  } 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)) $
+  xpElem "feature" $
+  xp6Tuple
+    (xpAttr "api" xpText)
+    xpName
+    (xpAttr "number" xpText)
+    (xpAttrImplied "protect" xpText)
+    (xpOption xpCommentAttr)
+    (xpList xpModification)
+
+data Modification = Modification {
+  modificationModificationKind :: ModificationKind,
+  modificationProfileName :: Maybe ProfileName,
+  modificationComment :: Maybe Comment,
+  modificationInterfaceElements :: [InterfaceElement]
+  } deriving (Eq, Ord, Show)
+
+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)
+
+newtype Extensions = Extensions {
+  unExtensions :: [Extension]
+  } deriving (Eq, Ord, Show)
+
+xpExtensions :: PU Extensions
+xpExtensions =
+  xpWrap (Extensions, unExtensions) $
+  xpElem "extensions" $
+  xpList xpExtension
+
+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)) $
+  xpElem "extension" $
+  xp5Tuple
+    xpName
+    (xpAttrImplied "protect" xpText)
+    (xpAttrImplied "supported" xpStringGroup)
+    (xpOption xpCommentAttr)
+    (xpList xpConditionalModification)
+
+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)
+
+data InterfaceElement = InterfaceElement {
+   interfaceElementKind :: InterfaceElementKind,
+   interfaceElementName :: Name,
+   interfaceElementComment :: Maybe Comment
+  } deriving (Eq, Ord, Show)
+
+data InterfaceElementKind
+  = InterfaceElementType
+  | InterfaceElementEnum
+  | InterfaceElementCommand
+  deriving (Eq, Ord, Show, Enum)
+
+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)
+
+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)
+
+xpTypeName :: PU TypeName
+xpTypeName = xpWrap (TypeName, unTypeName) xpText
+
+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)
+
+xpStringGroup :: PU StringGroup
+xpStringGroup = xpWrap (StringGroup, unStringGroup) xpText
+
+newtype ProfileName = ProfileName { unProfileName :: String } deriving (Eq, Ord, Show)
+
+xpProfileName :: PU ProfileName
+xpProfileName =
+  xpAttr "profile" $
+  xpWrap (ProfileName, unProfileName) xpText
+
+newtype Vendor = Vendor { unVendor :: String } deriving (Eq, Ord, Show)
+
+xpVendor :: PU Vendor
+xpVendor =
+  xpAttr "vendor" $
+  xpWrap (Vendor, unVendor) xpText
+
+newtype Comment = Comment { unComment :: String } deriving (Eq, Ord, Show)
+
+xpComment :: PU Comment
+xpComment = xpWrap (Comment, unComment) xpText
+
+xpCommentAttr :: PU Comment
+xpCommentAttr = xpAttr "comment" xpComment
+
+newtype Name = Name { unName :: String } deriving (Eq, Ord, Show)
+
+xpName :: PU Name
+xpName =
+  xpAttr "name" $
+  xpWrap (Name, unName) xpText
diff --git a/include/HsOpenGLRaw.h b/include/HsOpenGLRaw.h
--- a/include/HsOpenGLRaw.h
+++ b/include/HsOpenGLRaw.h
@@ -1,9 +1,9 @@
 /* -----------------------------------------------------------------------------
  *
  * Module      :  GL extension support for Graphics.Rendering.OpenGL.Raw
- * Copyright   :  (c) Sven Panne 2013
+ * Copyright   :  (c) Sven Panne 2015
  * License     :  BSD3
- * 
+ *
  * Maintainer  :  Sven Panne <svenpanne@gmail.com>
  * Stability   :  stable
  * Portability :  portable
@@ -21,11 +21,11 @@
    otherwise the magic mangler (hack_foreign) in the Hugs build system
    doesn't recognize it. */
 #define EXTENSION_ENTRY(_dyn_entry,_ptr_entry,_str_entry,_entry,_ty) \
-foreign import CALLCONV unsafe "dynamic" _dyn_entry :: Graphics.Rendering.OpenGL.Raw.Extensions.Invoker (_ty) ; \
+foreign import CALLCONV unsafe "dynamic" _dyn_entry :: FunPtr (_ty) -> (_ty) ; \
 _entry :: (_ty) ; \
 _entry = _dyn_entry _ptr_entry ; \
 _ptr_entry :: FunPtr a ; \
-_ptr_entry = unsafePerformIO (Graphics.Rendering.OpenGL.Raw.Extensions.getExtensionEntry extensionNameString _str_entry) ; \
+_ptr_entry = unsafePerformIO (Graphics.Rendering.OpenGL.Raw.GetProcAddress.getExtensionChecked _str_entry) ; \
 {-HASH NOINLINE _ptr_entry HASH-}
 
 #endif
diff --git a/src/Graphics/Rendering/OpenGL/Raw.hs b/src/Graphics/Rendering/OpenGL/Raw.hs
--- a/src/Graphics/Rendering/OpenGL/Raw.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw.hs
@@ -1,31 +1,32 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw
--- Copyright   :  (c) Sven Panne 2013
+-- Copyright   :  (c) Sven Panne 2015
 -- License     :  BSD3
 --
 -- Maintainer  :  Sven Panne <svenpanne@gmail.com>
 -- Stability   :  stable
 -- Portability :  portable
 --
--- A convenience module, combining all raw OpenGL modules.
+-- A convenience module, combining the latest OpenGL compatibility profile plus
+-- all extensions.
 --
 --------------------------------------------------------------------------------
 
 module Graphics.Rendering.OpenGL.Raw (
-   module Graphics.Rendering.OpenGL.Raw.Types,
+   module Graphics.Rendering.OpenGL.Raw.Compatibility45,
    module Graphics.Rendering.OpenGL.Raw.ARB,
-   module Graphics.Rendering.OpenGL.Raw.Core32,
    module Graphics.Rendering.OpenGL.Raw.APPLE,
    module Graphics.Rendering.OpenGL.Raw.EXT,
    module Graphics.Rendering.OpenGL.Raw.NV,
+   module Graphics.Rendering.OpenGL.Raw.Types,
    module Graphics.Rendering.OpenGL.Raw.GetProcAddress
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Compatibility45
 import Graphics.Rendering.OpenGL.Raw.ARB
-import Graphics.Rendering.OpenGL.Raw.Core32
 import Graphics.Rendering.OpenGL.Raw.APPLE
 import Graphics.Rendering.OpenGL.Raw.EXT
 import Graphics.Rendering.OpenGL.Raw.NV
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.GetProcAddress
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
@@ -26,15 +26,14 @@
 
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 --------------------------------------------------------------------------------
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_APPLE_flush_buffer_range"
 
 EXTENSION_ENTRY(dyn_glBufferParameteri,ptr_glBufferParameteri,"glBufferParameteri",glBufferParameteri, GLenum -> GLenum -> GLint -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
@@ -27,14 +27,13 @@
 
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 --------------------------------------------------------------------------------
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_APPLE_vertex_array_object"
 
 EXTENSION_ENTRY(dyn_glBindVertexArrayAPPLE,ptr_glBindVertexArrayAPPLE,"glBindVertexArrayAPPLE",glBindVertexArrayAPPLE,GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
@@ -27,30 +26,5 @@
    gl_MAX_DUAL_SOURCE_DRAW_BUFFERS
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_blend_func_extended"
-
-EXTENSION_ENTRY(dyn_glBindFragDataLocationIndexed,ptr_glBindFragDataLocationIndexed,"glBindFragDataLocationIndexed",glBindFragDataLocationIndexed,GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetFragDataIndex,ptr_glGetFragDataIndex,"glGetFragDataIndex",glGetFragDataIndex,GLuint -> Ptr GLchar -> IO GLint)
-
-gl_SRC1_COLOR :: GLenum
-gl_SRC1_COLOR = 0x88F9
-
-gl_ONE_MINUS_SRC1_COLOR :: GLenum
-gl_ONE_MINUS_SRC1_COLOR = 0x88FA
-
-gl_ONE_MINUS_SRC1_ALPHA :: GLenum
-gl_ONE_MINUS_SRC1_ALPHA = 0x88FB
-
-gl_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
-gl_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
@@ -22,8 +22,6 @@
    gl_FIXED_ONLY
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_RGBA_FLOAT_MODE :: GLenum
-gl_RGBA_FLOAT_MODE = 0x8820
+gl_RGBA_FLOAT_MODE = gl_RGBA_FLOAT_MODE_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility.hs
@@ -15,10 +15,892 @@
 
 module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility (
    -- * Functions
-   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions,
+   glAccum,
+   glAlphaFunc,
+   glAreTexturesResident,
+   glArrayElement,
+   glBegin,
+   glBitmap,
+   glCallList,
+   glCallLists,
+   glClearAccum,
+   glClearIndex,
+   glClientActiveTexture,
+   glClipPlane,
+   glColor3b,
+   glColor3bv,
+   glColor3d,
+   glColor3dv,
+   glColor3f,
+   glColor3fv,
+   glColor3i,
+   glColor3iv,
+   glColor3s,
+   glColor3sv,
+   glColor3ub,
+   glColor3ubv,
+   glColor3ui,
+   glColor3uiv,
+   glColor3us,
+   glColor3usv,
+   glColor4b,
+   glColor4bv,
+   glColor4d,
+   glColor4dv,
+   glColor4f,
+   glColor4fv,
+   glColor4i,
+   glColor4iv,
+   glColor4s,
+   glColor4sv,
+   glColor4ub,
+   glColor4ubv,
+   glColor4ui,
+   glColor4uiv,
+   glColor4us,
+   glColor4usv,
+   glColorMaterial,
+   glColorPointer,
+   glColorSubTable,
+   glColorTable,
+   glColorTableParameterfv,
+   glColorTableParameteriv,
+   glConvolutionFilter1D,
+   glConvolutionFilter2D,
+   glConvolutionParameterf,
+   glConvolutionParameterfv,
+   glConvolutionParameteri,
+   glConvolutionParameteriv,
+   glCopyColorSubTable,
+   glCopyColorTable,
+   glCopyConvolutionFilter1D,
+   glCopyConvolutionFilter2D,
+   glCopyPixels,
+   glDeleteLists,
+   glDisableClientState,
+   glDrawPixels,
+   glEdgeFlag,
+   glEdgeFlagPointer,
+   glEdgeFlagv,
+   glEnableClientState,
+   glEnd,
+   glEndList,
+   glEvalCoord1d,
+   glEvalCoord1dv,
+   glEvalCoord1f,
+   glEvalCoord1fv,
+   glEvalCoord2d,
+   glEvalCoord2dv,
+   glEvalCoord2f,
+   glEvalCoord2fv,
+   glEvalMesh1,
+   glEvalMesh2,
+   glEvalPoint1,
+   glEvalPoint2,
+   glFeedbackBuffer,
+   glFogCoordPointer,
+   glFogCoordd,
+   glFogCoorddv,
+   glFogCoordf,
+   glFogCoordfv,
+   glFogf,
+   glFogfv,
+   glFogi,
+   glFogiv,
+   glFrustum,
+   glGenLists,
+   glGetClipPlane,
+   glGetColorTable,
+   glGetColorTableParameterfv,
+   glGetColorTableParameteriv,
+   glGetConvolutionFilter,
+   glGetConvolutionParameterfv,
+   glGetConvolutionParameteriv,
+   glGetHistogram,
+   glGetHistogramParameterfv,
+   glGetHistogramParameteriv,
+   glGetLightfv,
+   glGetLightiv,
+   glGetMapdv,
+   glGetMapfv,
+   glGetMapiv,
+   glGetMaterialfv,
+   glGetMaterialiv,
+   glGetMinmax,
+   glGetMinmaxParameterfv,
+   glGetMinmaxParameteriv,
+   glGetPixelMapfv,
+   glGetPixelMapuiv,
+   glGetPixelMapusv,
+   glGetPolygonStipple,
+   glGetSeparableFilter,
+   glGetTexEnvfv,
+   glGetTexEnviv,
+   glGetTexGendv,
+   glGetTexGenfv,
+   glGetTexGeniv,
+   glHistogram,
+   glIndexMask,
+   glIndexPointer,
+   glIndexd,
+   glIndexdv,
+   glIndexf,
+   glIndexfv,
+   glIndexi,
+   glIndexiv,
+   glIndexs,
+   glIndexsv,
+   glIndexub,
+   glIndexubv,
+   glInitNames,
+   glInterleavedArrays,
+   glIsList,
+   glLightModelf,
+   glLightModelfv,
+   glLightModeli,
+   glLightModeliv,
+   glLightf,
+   glLightfv,
+   glLighti,
+   glLightiv,
+   glLineStipple,
+   glListBase,
+   glLoadIdentity,
+   glLoadMatrixd,
+   glLoadMatrixf,
+   glLoadName,
+   glLoadTransposeMatrixd,
+   glLoadTransposeMatrixf,
+   glMap1d,
+   glMap1f,
+   glMap2d,
+   glMap2f,
+   glMapGrid1d,
+   glMapGrid1f,
+   glMapGrid2d,
+   glMapGrid2f,
+   glMaterialf,
+   glMaterialfv,
+   glMateriali,
+   glMaterialiv,
+   glMatrixMode,
+   glMinmax,
+   glMultMatrixd,
+   glMultMatrixf,
+   glMultTransposeMatrixd,
+   glMultTransposeMatrixf,
+   glMultiTexCoord1d,
+   glMultiTexCoord1dv,
+   glMultiTexCoord1f,
+   glMultiTexCoord1fv,
+   glMultiTexCoord1i,
+   glMultiTexCoord1iv,
+   glMultiTexCoord1s,
+   glMultiTexCoord1sv,
+   glMultiTexCoord2d,
+   glMultiTexCoord2dv,
+   glMultiTexCoord2f,
+   glMultiTexCoord2fv,
+   glMultiTexCoord2i,
+   glMultiTexCoord2iv,
+   glMultiTexCoord2s,
+   glMultiTexCoord2sv,
+   glMultiTexCoord3d,
+   glMultiTexCoord3dv,
+   glMultiTexCoord3f,
+   glMultiTexCoord3fv,
+   glMultiTexCoord3i,
+   glMultiTexCoord3iv,
+   glMultiTexCoord3s,
+   glMultiTexCoord3sv,
+   glMultiTexCoord4d,
+   glMultiTexCoord4dv,
+   glMultiTexCoord4f,
+   glMultiTexCoord4fv,
+   glMultiTexCoord4i,
+   glMultiTexCoord4iv,
+   glMultiTexCoord4s,
+   glMultiTexCoord4sv,
+   glNewList,
+   glNormal3b,
+   glNormal3bv,
+   glNormal3d,
+   glNormal3dv,
+   glNormal3f,
+   glNormal3fv,
+   glNormal3i,
+   glNormal3iv,
+   glNormal3s,
+   glNormal3sv,
+   glNormalPointer,
+   glOrtho,
+   glPassThrough,
+   glPixelMapfv,
+   glPixelMapuiv,
+   glPixelMapusv,
+   glPixelTransferf,
+   glPixelTransferi,
+   glPixelZoom,
+   glPolygonStipple,
+   glPopAttrib,
+   glPopClientAttrib,
+   glPopMatrix,
+   glPopName,
+   glPrioritizeTextures,
+   glPushAttrib,
+   glPushClientAttrib,
+   glPushMatrix,
+   glPushName,
+   glRasterPos2d,
+   glRasterPos2dv,
+   glRasterPos2f,
+   glRasterPos2fv,
+   glRasterPos2i,
+   glRasterPos2iv,
+   glRasterPos2s,
+   glRasterPos2sv,
+   glRasterPos3d,
+   glRasterPos3dv,
+   glRasterPos3f,
+   glRasterPos3fv,
+   glRasterPos3i,
+   glRasterPos3iv,
+   glRasterPos3s,
+   glRasterPos3sv,
+   glRasterPos4d,
+   glRasterPos4dv,
+   glRasterPos4f,
+   glRasterPos4fv,
+   glRasterPos4i,
+   glRasterPos4iv,
+   glRasterPos4s,
+   glRasterPos4sv,
+   glRectd,
+   glRectdv,
+   glRectf,
+   glRectfv,
+   glRecti,
+   glRectiv,
+   glRects,
+   glRectsv,
+   glRenderMode,
+   glResetHistogram,
+   glResetMinmax,
+   glRotated,
+   glRotatef,
+   glScaled,
+   glScalef,
+   glSecondaryColor3b,
+   glSecondaryColor3bv,
+   glSecondaryColor3d,
+   glSecondaryColor3dv,
+   glSecondaryColor3f,
+   glSecondaryColor3fv,
+   glSecondaryColor3i,
+   glSecondaryColor3iv,
+   glSecondaryColor3s,
+   glSecondaryColor3sv,
+   glSecondaryColor3ub,
+   glSecondaryColor3ubv,
+   glSecondaryColor3ui,
+   glSecondaryColor3uiv,
+   glSecondaryColor3us,
+   glSecondaryColor3usv,
+   glSecondaryColorPointer,
+   glSelectBuffer,
+   glSeparableFilter2D,
+   glShadeModel,
+   glTexCoord1d,
+   glTexCoord1dv,
+   glTexCoord1f,
+   glTexCoord1fv,
+   glTexCoord1i,
+   glTexCoord1iv,
+   glTexCoord1s,
+   glTexCoord1sv,
+   glTexCoord2d,
+   glTexCoord2dv,
+   glTexCoord2f,
+   glTexCoord2fv,
+   glTexCoord2i,
+   glTexCoord2iv,
+   glTexCoord2s,
+   glTexCoord2sv,
+   glTexCoord3d,
+   glTexCoord3dv,
+   glTexCoord3f,
+   glTexCoord3fv,
+   glTexCoord3i,
+   glTexCoord3iv,
+   glTexCoord3s,
+   glTexCoord3sv,
+   glTexCoord4d,
+   glTexCoord4dv,
+   glTexCoord4f,
+   glTexCoord4fv,
+   glTexCoord4i,
+   glTexCoord4iv,
+   glTexCoord4s,
+   glTexCoord4sv,
+   glTexCoordPointer,
+   glTexEnvf,
+   glTexEnvfv,
+   glTexEnvi,
+   glTexEnviv,
+   glTexGend,
+   glTexGendv,
+   glTexGenf,
+   glTexGenfv,
+   glTexGeni,
+   glTexGeniv,
+   glTranslated,
+   glTranslatef,
+   glVertex2d,
+   glVertex2dv,
+   glVertex2f,
+   glVertex2fv,
+   glVertex2i,
+   glVertex2iv,
+   glVertex2s,
+   glVertex2sv,
+   glVertex3d,
+   glVertex3dv,
+   glVertex3f,
+   glVertex3fv,
+   glVertex3i,
+   glVertex3iv,
+   glVertex3s,
+   glVertex3sv,
+   glVertex4d,
+   glVertex4dv,
+   glVertex4f,
+   glVertex4fv,
+   glVertex4i,
+   glVertex4iv,
+   glVertex4s,
+   glVertex4sv,
+   glVertexPointer,
+   glWindowPos2d,
+   glWindowPos2dv,
+   glWindowPos2f,
+   glWindowPos2fv,
+   glWindowPos2i,
+   glWindowPos2iv,
+   glWindowPos2s,
+   glWindowPos2sv,
+   glWindowPos3d,
+   glWindowPos3dv,
+   glWindowPos3f,
+   glWindowPos3fv,
+   glWindowPos3i,
+   glWindowPos3iv,
+   glWindowPos3s,
+   glWindowPos3sv,
    -- * Tokens
-   module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_COUNT_EXT,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_MATRIX,
+  gl_COLOR_MATRIX_STACK_DEPTH,
+  gl_COLOR_SUM,
+  gl_COLOR_TABLE,
+  gl_COLOR_TABLE_ALPHA_SIZE,
+  gl_COLOR_TABLE_BIAS,
+  gl_COLOR_TABLE_BLUE_SIZE,
+  gl_COLOR_TABLE_FORMAT,
+  gl_COLOR_TABLE_GREEN_SIZE,
+  gl_COLOR_TABLE_INTENSITY_SIZE,
+  gl_COLOR_TABLE_LUMINANCE_SIZE,
+  gl_COLOR_TABLE_RED_SIZE,
+  gl_COLOR_TABLE_SCALE,
+  gl_COLOR_TABLE_WIDTH,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_CONSTANT,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_BORDER,
+  gl_CONVOLUTION_1D,
+  gl_CONVOLUTION_2D,
+  gl_CONVOLUTION_BORDER_COLOR,
+  gl_CONVOLUTION_BORDER_MODE,
+  gl_CONVOLUTION_FILTER_BIAS,
+  gl_CONVOLUTION_FILTER_SCALE,
+  gl_CONVOLUTION_FORMAT,
+  gl_CONVOLUTION_HEIGHT,
+  gl_CONVOLUTION_WIDTH,
+  gl_COORD_REPLACE,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_DECAL,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DIFFUSE,
+  gl_DOMAIN,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_COUNT_EXT,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FLAT,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_HISTOGRAM,
+  gl_HISTOGRAM_ALPHA_SIZE,
+  gl_HISTOGRAM_BLUE_SIZE,
+  gl_HISTOGRAM_FORMAT,
+  gl_HISTOGRAM_GREEN_SIZE,
+  gl_HISTOGRAM_LUMINANCE_SIZE,
+  gl_HISTOGRAM_RED_SIZE,
+  gl_HISTOGRAM_SINK,
+  gl_HISTOGRAM_WIDTH,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_COUNT_EXT,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERPOLATE,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINEAR_ATTENUATION,
+  gl_LINE_BIT,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_TOKEN,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_MATRIX_STACK_DEPTH,
+  gl_MAX_CONVOLUTION_HEIGHT,
+  gl_MAX_CONVOLUTION_WIDTH,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MINMAX,
+  gl_MINMAX_FORMAT,
+  gl_MINMAX_SINK,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_COUNT_EXT,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_ORDER,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_POST_COLOR_MATRIX_ALPHA_BIAS,
+  gl_POST_COLOR_MATRIX_ALPHA_SCALE,
+  gl_POST_COLOR_MATRIX_BLUE_BIAS,
+  gl_POST_COLOR_MATRIX_BLUE_SCALE,
+  gl_POST_COLOR_MATRIX_COLOR_TABLE,
+  gl_POST_COLOR_MATRIX_GREEN_BIAS,
+  gl_POST_COLOR_MATRIX_GREEN_SCALE,
+  gl_POST_COLOR_MATRIX_RED_BIAS,
+  gl_POST_COLOR_MATRIX_RED_SCALE,
+  gl_POST_CONVOLUTION_ALPHA_BIAS,
+  gl_POST_CONVOLUTION_ALPHA_SCALE,
+  gl_POST_CONVOLUTION_BLUE_BIAS,
+  gl_POST_CONVOLUTION_BLUE_SCALE,
+  gl_POST_CONVOLUTION_COLOR_TABLE,
+  gl_POST_CONVOLUTION_GREEN_BIAS,
+  gl_POST_CONVOLUTION_GREEN_SCALE,
+  gl_POST_CONVOLUTION_RED_BIAS,
+  gl_POST_CONVOLUTION_RED_SCALE,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_COLOR_TABLE,
+  gl_PROXY_HISTOGRAM,
+  gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE,
+  gl_PROXY_POST_CONVOLUTION_COLOR_TABLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_R,
+  gl_REDUCE,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDER_MODE,
+  gl_REPLICATE_BORDER,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RGBA_MODE,
+  gl_RGB_SCALE,
+  gl_S,
+  gl_SCISSOR_BIT,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARABLE_2D,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SHADE_MODEL,
+  gl_SHININESS,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STENCIL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TABLE_TOO_LARGE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_COUNT_EXT,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TRANSFORM_BIT,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_V2F,
+  gl_V3F,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_COUNT_EXT,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_ZOOM_X,
+  gl_ZOOM_Y
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Functions.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Functions.hs
+++ /dev/null
@@ -1,794 +0,0 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the ARB_compatibility extension, see
--- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions (
-   glAccum,
-   glAlphaFunc,
-   glAreTexturesResident,
-   glArrayElement,
-   glBegin,
-   glBitmap,
-   glCallList,
-   glCallLists,
-   glClearAccum,
-   glClearIndex,
-   glClientActiveTexture,
-   glClipPlane,
-   glColor3b,
-   glColor3bv,
-   glColor3d,
-   glColor3dv,
-   glColor3f,
-   glColor3fv,
-   glColor3i,
-   glColor3iv,
-   glColor3s,
-   glColor3sv,
-   glColor3ub,
-   glColor3ubv,
-   glColor3ui,
-   glColor3uiv,
-   glColor3us,
-   glColor3usv,
-   glColor4b,
-   glColor4bv,
-   glColor4d,
-   glColor4dv,
-   glColor4f,
-   glColor4fv,
-   glColor4i,
-   glColor4iv,
-   glColor4s,
-   glColor4sv,
-   glColor4ub,
-   glColor4ubv,
-   glColor4ui,
-   glColor4uiv,
-   glColor4us,
-   glColor4usv,
-   glColorMaterial,
-   glColorPointer,
-   glColorSubTable,
-   glColorTable,
-   glColorTableParameterfv,
-   glColorTableParameteriv,
-   glConvolutionFilter1D,
-   glConvolutionFilter2D,
-   glConvolutionParameterf,
-   glConvolutionParameterfv,
-   glConvolutionParameteri,
-   glConvolutionParameteriv,
-   glCopyColorSubTable,
-   glCopyColorTable,
-   glCopyConvolutionFilter1D,
-   glCopyConvolutionFilter2D,
-   glCopyPixels,
-   glDeleteLists,
-   glDisableClientState,
-   glDrawPixels,
-   glEdgeFlag,
-   glEdgeFlagPointer,
-   glEdgeFlagv,
-   glEnableClientState,
-   glEnd,
-   glEndList,
-   glEvalCoord1d,
-   glEvalCoord1dv,
-   glEvalCoord1f,
-   glEvalCoord1fv,
-   glEvalCoord2d,
-   glEvalCoord2dv,
-   glEvalCoord2f,
-   glEvalCoord2fv,
-   glEvalMesh1,
-   glEvalMesh2,
-   glEvalPoint1,
-   glEvalPoint2,
-   glFeedbackBuffer,
-   glFogCoordPointer,
-   glFogCoordd,
-   glFogCoorddv,
-   glFogCoordf,
-   glFogCoordfv,
-   glFogf,
-   glFogfv,
-   glFogi,
-   glFogiv,
-   glFrustum,
-   glGenLists,
-   glGetClipPlane,
-   glGetColorTable,
-   glGetColorTableParameterfv,
-   glGetColorTableParameteriv,
-   glGetConvolutionFilter,
-   glGetConvolutionParameterfv,
-   glGetConvolutionParameteriv,
-   glGetHistogram,
-   glGetHistogramParameterfv,
-   glGetHistogramParameteriv,
-   glGetLightfv,
-   glGetLightiv,
-   glGetMapdv,
-   glGetMapfv,
-   glGetMapiv,
-   glGetMaterialfv,
-   glGetMaterialiv,
-   glGetMinmax,
-   glGetMinmaxParameterfv,
-   glGetMinmaxParameteriv,
-   glGetPixelMapfv,
-   glGetPixelMapuiv,
-   glGetPixelMapusv,
-   glGetPolygonStipple,
-   glGetSeparableFilter,
-   glGetTexEnvfv,
-   glGetTexEnviv,
-   glGetTexGendv,
-   glGetTexGenfv,
-   glGetTexGeniv,
-   glHistogram,
-   glIndexMask,
-   glIndexPointer,
-   glIndexd,
-   glIndexdv,
-   glIndexf,
-   glIndexfv,
-   glIndexi,
-   glIndexiv,
-   glIndexs,
-   glIndexsv,
-   glIndexub,
-   glIndexubv,
-   glInitNames,
-   glInterleavedArrays,
-   glIsList,
-   glLightModelf,
-   glLightModelfv,
-   glLightModeli,
-   glLightModeliv,
-   glLightf,
-   glLightfv,
-   glLighti,
-   glLightiv,
-   glLineStipple,
-   glListBase,
-   glLoadIdentity,
-   glLoadMatrixd,
-   glLoadMatrixf,
-   glLoadName,
-   glLoadTransposeMatrixd,
-   glLoadTransposeMatrixf,
-   glMap1d,
-   glMap1f,
-   glMap2d,
-   glMap2f,
-   glMapGrid1d,
-   glMapGrid1f,
-   glMapGrid2d,
-   glMapGrid2f,
-   glMaterialf,
-   glMaterialfv,
-   glMateriali,
-   glMaterialiv,
-   glMatrixMode,
-   glMinmax,
-   glMultMatrixd,
-   glMultMatrixf,
-   glMultTransposeMatrixd,
-   glMultTransposeMatrixf,
-   glMultiTexCoord1d,
-   glMultiTexCoord1dv,
-   glMultiTexCoord1f,
-   glMultiTexCoord1fv,
-   glMultiTexCoord1i,
-   glMultiTexCoord1iv,
-   glMultiTexCoord1s,
-   glMultiTexCoord1sv,
-   glMultiTexCoord2d,
-   glMultiTexCoord2dv,
-   glMultiTexCoord2f,
-   glMultiTexCoord2fv,
-   glMultiTexCoord2i,
-   glMultiTexCoord2iv,
-   glMultiTexCoord2s,
-   glMultiTexCoord2sv,
-   glMultiTexCoord3d,
-   glMultiTexCoord3dv,
-   glMultiTexCoord3f,
-   glMultiTexCoord3fv,
-   glMultiTexCoord3i,
-   glMultiTexCoord3iv,
-   glMultiTexCoord3s,
-   glMultiTexCoord3sv,
-   glMultiTexCoord4d,
-   glMultiTexCoord4dv,
-   glMultiTexCoord4f,
-   glMultiTexCoord4fv,
-   glMultiTexCoord4i,
-   glMultiTexCoord4iv,
-   glMultiTexCoord4s,
-   glMultiTexCoord4sv,
-   glNewList,
-   glNormal3b,
-   glNormal3bv,
-   glNormal3d,
-   glNormal3dv,
-   glNormal3f,
-   glNormal3fv,
-   glNormal3i,
-   glNormal3iv,
-   glNormal3s,
-   glNormal3sv,
-   glNormalPointer,
-   glOrtho,
-   glPassThrough,
-   glPixelMapfv,
-   glPixelMapuiv,
-   glPixelMapusv,
-   glPixelTransferf,
-   glPixelTransferi,
-   glPixelZoom,
-   glPolygonStipple,
-   glPopAttrib,
-   glPopClientAttrib,
-   glPopMatrix,
-   glPopName,
-   glPrioritizeTextures,
-   glPushAttrib,
-   glPushClientAttrib,
-   glPushMatrix,
-   glPushName,
-   glRasterPos2d,
-   glRasterPos2dv,
-   glRasterPos2f,
-   glRasterPos2fv,
-   glRasterPos2i,
-   glRasterPos2iv,
-   glRasterPos2s,
-   glRasterPos2sv,
-   glRasterPos3d,
-   glRasterPos3dv,
-   glRasterPos3f,
-   glRasterPos3fv,
-   glRasterPos3i,
-   glRasterPos3iv,
-   glRasterPos3s,
-   glRasterPos3sv,
-   glRasterPos4d,
-   glRasterPos4dv,
-   glRasterPos4f,
-   glRasterPos4fv,
-   glRasterPos4i,
-   glRasterPos4iv,
-   glRasterPos4s,
-   glRasterPos4sv,
-   glRectd,
-   glRectdv,
-   glRectf,
-   glRectfv,
-   glRecti,
-   glRectiv,
-   glRects,
-   glRectsv,
-   glRenderMode,
-   glResetHistogram,
-   glResetMinmax,
-   glRotated,
-   glRotatef,
-   glSamplePass,
-   glScaled,
-   glScalef,
-   glSecondaryColor3b,
-   glSecondaryColor3bv,
-   glSecondaryColor3d,
-   glSecondaryColor3dv,
-   glSecondaryColor3f,
-   glSecondaryColor3fv,
-   glSecondaryColor3i,
-   glSecondaryColor3iv,
-   glSecondaryColor3s,
-   glSecondaryColor3sv,
-   glSecondaryColor3ub,
-   glSecondaryColor3ubv,
-   glSecondaryColor3ui,
-   glSecondaryColor3uiv,
-   glSecondaryColor3us,
-   glSecondaryColor3usv,
-   glSecondaryColorPointer,
-   glSelectBuffer,
-   glSeparableFilter2D,
-   glShadeModel,
-   glTexCoord1d,
-   glTexCoord1dv,
-   glTexCoord1f,
-   glTexCoord1fv,
-   glTexCoord1i,
-   glTexCoord1iv,
-   glTexCoord1s,
-   glTexCoord1sv,
-   glTexCoord2d,
-   glTexCoord2dv,
-   glTexCoord2f,
-   glTexCoord2fv,
-   glTexCoord2i,
-   glTexCoord2iv,
-   glTexCoord2s,
-   glTexCoord2sv,
-   glTexCoord3d,
-   glTexCoord3dv,
-   glTexCoord3f,
-   glTexCoord3fv,
-   glTexCoord3i,
-   glTexCoord3iv,
-   glTexCoord3s,
-   glTexCoord3sv,
-   glTexCoord4d,
-   glTexCoord4dv,
-   glTexCoord4f,
-   glTexCoord4fv,
-   glTexCoord4i,
-   glTexCoord4iv,
-   glTexCoord4s,
-   glTexCoord4sv,
-   glTexCoordPointer,
-   glTexEnvf,
-   glTexEnvfv,
-   glTexEnvi,
-   glTexEnviv,
-   glTexGend,
-   glTexGendv,
-   glTexGenf,
-   glTexGenfv,
-   glTexGeni,
-   glTexGeniv,
-   glTranslated,
-   glTranslatef,
-   glVertex2d,
-   glVertex2dv,
-   glVertex2f,
-   glVertex2fv,
-   glVertex2i,
-   glVertex2iv,
-   glVertex2s,
-   glVertex2sv,
-   glVertex3d,
-   glVertex3dv,
-   glVertex3f,
-   glVertex3fv,
-   glVertex3i,
-   glVertex3iv,
-   glVertex3s,
-   glVertex3sv,
-   glVertex4d,
-   glVertex4dv,
-   glVertex4f,
-   glVertex4fv,
-   glVertex4i,
-   glVertex4iv,
-   glVertex4s,
-   glVertex4sv,
-   glVertexPointer,
-   glWindowPos2d,
-   glWindowPos2dv,
-   glWindowPos2f,
-   glWindowPos2fv,
-   glWindowPos2i,
-   glWindowPos2iv,
-   glWindowPos2s,
-   glWindowPos2sv,
-   glWindowPos3d,
-   glWindowPos3dv,
-   glWindowPos3f,
-   glWindowPos3fv,
-   glWindowPos3i,
-   glWindowPos3iv,
-   glWindowPos3s,
-   glWindowPos3sv
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_compatibility"
-
-EXTENSION_ENTRY(dyn_glAccum,ptr_glAccum,"glAccum",glAccum,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glAlphaFunc,ptr_glAlphaFunc,"glAlphaFunc",glAlphaFunc,GLenum -> GLclampf -> IO ())
-EXTENSION_ENTRY(dyn_glAreTexturesResident,ptr_glAreTexturesResident,"glAreTexturesResident",glAreTexturesResident,GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glArrayElement,ptr_glArrayElement,"glArrayElement",glArrayElement,GLint -> IO ())
-EXTENSION_ENTRY(dyn_glBegin,ptr_glBegin,"glBegin",glBegin,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBitmap,ptr_glBitmap,"glBitmap",glBitmap,GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glCallList,ptr_glCallList,"glCallList",glCallList,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glCallLists,ptr_glCallLists,"glCallLists",glCallLists,GLsizei -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glClearAccum,ptr_glClearAccum,"glClearAccum",glClearAccum,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glClearIndex,ptr_glClearIndex,"glClearIndex",glClearIndex,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glClientActiveTexture,ptr_glClientActiveTexture,"glClientActiveTexture",glClientActiveTexture,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glClipPlane,ptr_glClipPlane,"glClipPlane",glClipPlane,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glColor3b,ptr_glColor3b,"glColor3b",glColor3b,GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor3bv,ptr_glColor3bv,"glColor3bv",glColor3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor3d,ptr_glColor3d,"glColor3d",glColor3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glColor3dv,ptr_glColor3dv,"glColor3dv",glColor3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glColor3f,ptr_glColor3f,"glColor3f",glColor3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glColor3fv,ptr_glColor3fv,"glColor3fv",glColor3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glColor3i,ptr_glColor3i,"glColor3i",glColor3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glColor3iv,ptr_glColor3iv,"glColor3iv",glColor3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glColor3s,ptr_glColor3s,"glColor3s",glColor3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glColor3sv,ptr_glColor3sv,"glColor3sv",glColor3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glColor3ub,ptr_glColor3ub,"glColor3ub",glColor3ub,GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor3ubv,ptr_glColor3ubv,"glColor3ubv",glColor3ubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor3ui,ptr_glColor3ui,"glColor3ui",glColor3ui,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColor3uiv,ptr_glColor3uiv,"glColor3uiv",glColor3uiv,Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColor3us,ptr_glColor3us,"glColor3us",glColor3us,GLushort -> GLushort -> GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glColor3usv,ptr_glColor3usv,"glColor3usv",glColor3usv,Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glColor4b,ptr_glColor4b,"glColor4b",glColor4b,GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor4bv,ptr_glColor4bv,"glColor4bv",glColor4bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor4d,ptr_glColor4d,"glColor4d",glColor4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glColor4dv,ptr_glColor4dv,"glColor4dv",glColor4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glColor4f,ptr_glColor4f,"glColor4f",glColor4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glColor4fv,ptr_glColor4fv,"glColor4fv",glColor4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glColor4i,ptr_glColor4i,"glColor4i",glColor4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glColor4iv,ptr_glColor4iv,"glColor4iv",glColor4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glColor4s,ptr_glColor4s,"glColor4s",glColor4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glColor4sv,ptr_glColor4sv,"glColor4sv",glColor4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glColor4ub,ptr_glColor4ub,"glColor4ub",glColor4ub,GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor4ubv,ptr_glColor4ubv,"glColor4ubv",glColor4ubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glColor4ui,ptr_glColor4ui,"glColor4ui",glColor4ui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColor4uiv,ptr_glColor4uiv,"glColor4uiv",glColor4uiv,Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColor4us,ptr_glColor4us,"glColor4us",glColor4us,GLushort -> GLushort -> GLushort -> GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glColor4usv,ptr_glColor4usv,"glColor4usv",glColor4usv,Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glColorMaterial,ptr_glColorMaterial,"glColorMaterial",glColorMaterial,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glColorPointer,ptr_glColorPointer,"glColorPointer",glColorPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glColorSubTable,ptr_glColorSubTable,"glColorSubTable",glColorSubTable,GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glColorTable,ptr_glColorTable,"glColorTable",glColorTable,GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glColorTableParameterfv,ptr_glColorTableParameterfv,"glColorTableParameterfv",glColorTableParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glColorTableParameteriv,ptr_glColorTableParameteriv,"glColorTableParameteriv",glColorTableParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glConvolutionFilter1D,ptr_glConvolutionFilter1D,"glConvolutionFilter1D",glConvolutionFilter1D,GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glConvolutionFilter2D,ptr_glConvolutionFilter2D,"glConvolutionFilter2D",glConvolutionFilter2D,GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glConvolutionParameterf,ptr_glConvolutionParameterf,"glConvolutionParameterf",glConvolutionParameterf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glConvolutionParameterfv,ptr_glConvolutionParameterfv,"glConvolutionParameterfv",glConvolutionParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glConvolutionParameteri,ptr_glConvolutionParameteri,"glConvolutionParameteri",glConvolutionParameteri,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glConvolutionParameteriv,ptr_glConvolutionParameteriv,"glConvolutionParameteriv",glConvolutionParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glCopyColorSubTable,ptr_glCopyColorSubTable,"glCopyColorSubTable",glCopyColorSubTable,GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyColorTable,ptr_glCopyColorTable,"glCopyColorTable",glCopyColorTable,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyConvolutionFilter1D,ptr_glCopyConvolutionFilter1D,"glCopyConvolutionFilter1D",glCopyConvolutionFilter1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyConvolutionFilter2D,ptr_glCopyConvolutionFilter2D,"glCopyConvolutionFilter2D",glCopyConvolutionFilter2D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyPixels,ptr_glCopyPixels,"glCopyPixels",glCopyPixels,GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteLists,ptr_glDeleteLists,"glDeleteLists",glDeleteLists,GLuint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glDisableClientState,ptr_glDisableClientState,"glDisableClientState",glDisableClientState,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glDrawPixels,ptr_glDrawPixels,"glDrawPixels",glDrawPixels,GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glEdgeFlag,ptr_glEdgeFlag,"glEdgeFlag",glEdgeFlag,GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glEdgeFlagPointer,ptr_glEdgeFlagPointer,"glEdgeFlagPointer",glEdgeFlagPointer,GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glEdgeFlagv,ptr_glEdgeFlagv,"glEdgeFlagv",glEdgeFlagv,Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glEnableClientState,ptr_glEnableClientState,"glEnableClientState",glEnableClientState,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glEnd,ptr_glEnd,"glEnd",glEnd,IO ())
-EXTENSION_ENTRY(dyn_glEndList,ptr_glEndList,"glEndList",glEndList,IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord1d,ptr_glEvalCoord1d,"glEvalCoord1d",glEvalCoord1d,GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord1dv,ptr_glEvalCoord1dv,"glEvalCoord1dv",glEvalCoord1dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord1f,ptr_glEvalCoord1f,"glEvalCoord1f",glEvalCoord1f,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord1fv,ptr_glEvalCoord1fv,"glEvalCoord1fv",glEvalCoord1fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord2d,ptr_glEvalCoord2d,"glEvalCoord2d",glEvalCoord2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord2dv,ptr_glEvalCoord2dv,"glEvalCoord2dv",glEvalCoord2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord2f,ptr_glEvalCoord2f,"glEvalCoord2f",glEvalCoord2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glEvalCoord2fv,ptr_glEvalCoord2fv,"glEvalCoord2fv",glEvalCoord2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glEvalMesh1,ptr_glEvalMesh1,"glEvalMesh1",glEvalMesh1,GLenum -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glEvalMesh2,ptr_glEvalMesh2,"glEvalMesh2",glEvalMesh2,GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glEvalPoint1,ptr_glEvalPoint1,"glEvalPoint1",glEvalPoint1,GLint -> IO ())
-EXTENSION_ENTRY(dyn_glEvalPoint2,ptr_glEvalPoint2,"glEvalPoint2",glEvalPoint2,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFeedbackBuffer,ptr_glFeedbackBuffer,"glFeedbackBuffer",glFeedbackBuffer,GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glFogCoordPointer,ptr_glFogCoordPointer,"glFogCoordPointer",glFogCoordPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glFogCoordd,ptr_glFogCoordd,"glFogCoordd",glFogCoordd,GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glFogCoorddv,ptr_glFogCoorddv,"glFogCoorddv",glFogCoorddv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glFogCoordf,ptr_glFogCoordf,"glFogCoordf",glFogCoordf,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glFogCoordfv,ptr_glFogCoordfv,"glFogCoordfv",glFogCoordfv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glFogf,ptr_glFogf,"glFogf",glFogf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glFogfv,ptr_glFogfv,"glFogfv",glFogfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glFogi,ptr_glFogi,"glFogi",glFogi,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFogiv,ptr_glFogiv,"glFogiv",glFogiv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFrustum,ptr_glFrustum,"glFrustum",glFrustum,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGenLists,ptr_glGenLists,"glGenLists",glGenLists,GLsizei -> IO GLuint)
-EXTENSION_ENTRY(dyn_glGetClipPlane,ptr_glGetClipPlane,"glGetClipPlane",glGetClipPlane,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetColorTable,ptr_glGetColorTable,"glGetColorTable",glGetColorTable,GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetColorTableParameterfv,ptr_glGetColorTableParameterfv,"glGetColorTableParameterfv",glGetColorTableParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetColorTableParameteriv,ptr_glGetColorTableParameteriv,"glGetColorTableParameteriv",glGetColorTableParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetConvolutionFilter,ptr_glGetConvolutionFilter,"glGetConvolutionFilter",glGetConvolutionFilter,GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetConvolutionParameterfv,ptr_glGetConvolutionParameterfv,"glGetConvolutionParameterfv",glGetConvolutionParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetConvolutionParameteriv,ptr_glGetConvolutionParameteriv,"glGetConvolutionParameteriv",glGetConvolutionParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetHistogram,ptr_glGetHistogram,"glGetHistogram",glGetHistogram,GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetHistogramParameterfv,ptr_glGetHistogramParameterfv,"glGetHistogramParameterfv",glGetHistogramParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetHistogramParameteriv,ptr_glGetHistogramParameteriv,"glGetHistogramParameteriv",glGetHistogramParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetLightfv,ptr_glGetLightfv,"glGetLightfv",glGetLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetLightiv,ptr_glGetLightiv,"glGetLightiv",glGetLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMapdv,ptr_glGetMapdv,"glGetMapdv",glGetMapdv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetMapfv,ptr_glGetMapfv,"glGetMapfv",glGetMapfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetMapiv,ptr_glGetMapiv,"glGetMapiv",glGetMapiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMaterialfv,ptr_glGetMaterialfv,"glGetMaterialfv",glGetMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetMaterialiv,ptr_glGetMaterialiv,"glGetMaterialiv",glGetMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMinmax,ptr_glGetMinmax,"glGetMinmax",glGetMinmax,GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetMinmaxParameterfv,ptr_glGetMinmaxParameterfv,"glGetMinmaxParameterfv",glGetMinmaxParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetMinmaxParameteriv,ptr_glGetMinmaxParameteriv,"glGetMinmaxParameteriv",glGetMinmaxParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetPixelMapfv,ptr_glGetPixelMapfv,"glGetPixelMapfv",glGetPixelMapfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetPixelMapuiv,ptr_glGetPixelMapuiv,"glGetPixelMapuiv",glGetPixelMapuiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetPixelMapusv,ptr_glGetPixelMapusv,"glGetPixelMapusv",glGetPixelMapusv,GLenum -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glGetPolygonStipple,ptr_glGetPolygonStipple,"glGetPolygonStipple",glGetPolygonStipple,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glGetSeparableFilter,ptr_glGetSeparableFilter,"glGetSeparableFilter",glGetSeparableFilter,GLenum -> GLenum -> GLenum -> Ptr a -> Ptr a -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexEnvfv,ptr_glGetTexEnvfv,"glGetTexEnvfv",glGetTexEnvfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexEnviv,ptr_glGetTexEnviv,"glGetTexEnviv",glGetTexEnviv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexGendv,ptr_glGetTexGendv,"glGetTexGendv",glGetTexGendv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexGenfv,ptr_glGetTexGenfv,"glGetTexGenfv",glGetTexGenfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexGeniv,ptr_glGetTexGeniv,"glGetTexGeniv",glGetTexGeniv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glHistogram,ptr_glHistogram,"glHistogram",glHistogram,GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glIndexMask,ptr_glIndexMask,"glIndexMask",glIndexMask,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glIndexPointer,ptr_glIndexPointer,"glIndexPointer",glIndexPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glIndexd,ptr_glIndexd,"glIndexd",glIndexd,GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glIndexdv,ptr_glIndexdv,"glIndexdv",glIndexdv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glIndexf,ptr_glIndexf,"glIndexf",glIndexf,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glIndexfv,ptr_glIndexfv,"glIndexfv",glIndexfv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glIndexi,ptr_glIndexi,"glIndexi",glIndexi,GLint -> IO ())
-EXTENSION_ENTRY(dyn_glIndexiv,ptr_glIndexiv,"glIndexiv",glIndexiv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glIndexs,ptr_glIndexs,"glIndexs",glIndexs,GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glIndexsv,ptr_glIndexsv,"glIndexsv",glIndexsv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glIndexub,ptr_glIndexub,"glIndexub",glIndexub,GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glIndexubv,ptr_glIndexubv,"glIndexubv",glIndexubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glInitNames,ptr_glInitNames,"glInitNames",glInitNames,IO ())
-EXTENSION_ENTRY(dyn_glInterleavedArrays,ptr_glInterleavedArrays,"glInterleavedArrays",glInterleavedArrays,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glIsList,ptr_glIsList,"glIsList",glIsList,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glLightModelf,ptr_glLightModelf,"glLightModelf",glLightModelf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glLightModelfv,ptr_glLightModelfv,"glLightModelfv",glLightModelfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glLightModeli,ptr_glLightModeli,"glLightModeli",glLightModeli,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glLightModeliv,ptr_glLightModeliv,"glLightModeliv",glLightModeliv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glLightf,ptr_glLightf,"glLightf",glLightf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glLightfv,ptr_glLightfv,"glLightfv",glLightfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glLighti,ptr_glLighti,"glLighti",glLighti,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glLightiv,ptr_glLightiv,"glLightiv",glLightiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glLineStipple,ptr_glLineStipple,"glLineStipple",glLineStipple,GLint -> GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glListBase,ptr_glListBase,"glListBase",glListBase,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glLoadIdentity,ptr_glLoadIdentity,"glLoadIdentity",glLoadIdentity,IO ())
-EXTENSION_ENTRY(dyn_glLoadMatrixd,ptr_glLoadMatrixd,"glLoadMatrixd",glLoadMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glLoadMatrixf,ptr_glLoadMatrixf,"glLoadMatrixf",glLoadMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glLoadName,ptr_glLoadName,"glLoadName",glLoadName,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glLoadTransposeMatrixd,ptr_glLoadTransposeMatrixd,"glLoadTransposeMatrixd",glLoadTransposeMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glLoadTransposeMatrixf,ptr_glLoadTransposeMatrixf,"glLoadTransposeMatrixf",glLoadTransposeMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMap1d,ptr_glMap1d,"glMap1d",glMap1d,GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMap1f,ptr_glMap1f,"glMap1f",glMap1f,GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMap2d,ptr_glMap2d,"glMap2d",glMap2d,GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMap2f,ptr_glMap2f,"glMap2f",glMap2f,GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMapGrid1d,ptr_glMapGrid1d,"glMapGrid1d",glMapGrid1d,GLint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMapGrid1f,ptr_glMapGrid1f,"glMapGrid1f",glMapGrid1f,GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMapGrid2d,ptr_glMapGrid2d,"glMapGrid2d",glMapGrid2d,GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMapGrid2f,ptr_glMapGrid2f,"glMapGrid2f",glMapGrid2f,GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMaterialf,ptr_glMaterialf,"glMaterialf",glMaterialf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMaterialfv,ptr_glMaterialfv,"glMaterialfv",glMaterialfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMateriali,ptr_glMateriali,"glMateriali",glMateriali,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMaterialiv,ptr_glMaterialiv,"glMaterialiv",glMaterialiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixMode,ptr_glMatrixMode,"glMatrixMode",glMatrixMode,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glMinmax,ptr_glMinmax,"glMinmax",glMinmax,GLenum -> GLenum -> GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glMultMatrixd,ptr_glMultMatrixd,"glMultMatrixd",glMultMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultMatrixf,ptr_glMultMatrixf,"glMultMatrixf",glMultMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultTransposeMatrixd,ptr_glMultTransposeMatrixd,"glMultTransposeMatrixd",glMultTransposeMatrixd,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultTransposeMatrixf,ptr_glMultTransposeMatrixf,"glMultTransposeMatrixf",glMultTransposeMatrixf,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1d,ptr_glMultiTexCoord1d,"glMultiTexCoord1d",glMultiTexCoord1d,GLenum -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1dv,ptr_glMultiTexCoord1dv,"glMultiTexCoord1dv",glMultiTexCoord1dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1f,ptr_glMultiTexCoord1f,"glMultiTexCoord1f",glMultiTexCoord1f,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1fv,ptr_glMultiTexCoord1fv,"glMultiTexCoord1fv",glMultiTexCoord1fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1i,ptr_glMultiTexCoord1i,"glMultiTexCoord1i",glMultiTexCoord1i,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1iv,ptr_glMultiTexCoord1iv,"glMultiTexCoord1iv",glMultiTexCoord1iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1s,ptr_glMultiTexCoord1s,"glMultiTexCoord1s",glMultiTexCoord1s,GLenum -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord1sv,ptr_glMultiTexCoord1sv,"glMultiTexCoord1sv",glMultiTexCoord1sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2d,ptr_glMultiTexCoord2d,"glMultiTexCoord2d",glMultiTexCoord2d,GLenum -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2dv,ptr_glMultiTexCoord2dv,"glMultiTexCoord2dv",glMultiTexCoord2dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2f,ptr_glMultiTexCoord2f,"glMultiTexCoord2f",glMultiTexCoord2f,GLenum -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2fv,ptr_glMultiTexCoord2fv,"glMultiTexCoord2fv",glMultiTexCoord2fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2i,ptr_glMultiTexCoord2i,"glMultiTexCoord2i",glMultiTexCoord2i,GLenum -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2iv,ptr_glMultiTexCoord2iv,"glMultiTexCoord2iv",glMultiTexCoord2iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2s,ptr_glMultiTexCoord2s,"glMultiTexCoord2s",glMultiTexCoord2s,GLenum -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord2sv,ptr_glMultiTexCoord2sv,"glMultiTexCoord2sv",glMultiTexCoord2sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3d,ptr_glMultiTexCoord3d,"glMultiTexCoord3d",glMultiTexCoord3d,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3dv,ptr_glMultiTexCoord3dv,"glMultiTexCoord3dv",glMultiTexCoord3dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3f,ptr_glMultiTexCoord3f,"glMultiTexCoord3f",glMultiTexCoord3f,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3fv,ptr_glMultiTexCoord3fv,"glMultiTexCoord3fv",glMultiTexCoord3fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3i,ptr_glMultiTexCoord3i,"glMultiTexCoord3i",glMultiTexCoord3i,GLenum -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3iv,ptr_glMultiTexCoord3iv,"glMultiTexCoord3iv",glMultiTexCoord3iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3s,ptr_glMultiTexCoord3s,"glMultiTexCoord3s",glMultiTexCoord3s,GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord3sv,ptr_glMultiTexCoord3sv,"glMultiTexCoord3sv",glMultiTexCoord3sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4d,ptr_glMultiTexCoord4d,"glMultiTexCoord4d",glMultiTexCoord4d,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4dv,ptr_glMultiTexCoord4dv,"glMultiTexCoord4dv",glMultiTexCoord4dv,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4f,ptr_glMultiTexCoord4f,"glMultiTexCoord4f",glMultiTexCoord4f,GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4fv,ptr_glMultiTexCoord4fv,"glMultiTexCoord4fv",glMultiTexCoord4fv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4i,ptr_glMultiTexCoord4i,"glMultiTexCoord4i",glMultiTexCoord4i,GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4iv,ptr_glMultiTexCoord4iv,"glMultiTexCoord4iv",glMultiTexCoord4iv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4s,ptr_glMultiTexCoord4s,"glMultiTexCoord4s",glMultiTexCoord4s,GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoord4sv,ptr_glMultiTexCoord4sv,"glMultiTexCoord4sv",glMultiTexCoord4sv,GLenum -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glNewList,ptr_glNewList,"glNewList",glNewList,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3b,ptr_glNormal3b,"glNormal3b",glNormal3b,GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3bv,ptr_glNormal3bv,"glNormal3bv",glNormal3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3d,ptr_glNormal3d,"glNormal3d",glNormal3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3dv,ptr_glNormal3dv,"glNormal3dv",glNormal3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3f,ptr_glNormal3f,"glNormal3f",glNormal3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3fv,ptr_glNormal3fv,"glNormal3fv",glNormal3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3i,ptr_glNormal3i,"glNormal3i",glNormal3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3iv,ptr_glNormal3iv,"glNormal3iv",glNormal3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3s,ptr_glNormal3s,"glNormal3s",glNormal3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glNormal3sv,ptr_glNormal3sv,"glNormal3sv",glNormal3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glNormalPointer,ptr_glNormalPointer,"glNormalPointer",glNormalPointer,GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glOrtho,ptr_glOrtho,"glOrtho",glOrtho,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glPassThrough,ptr_glPassThrough,"glPassThrough",glPassThrough,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPixelMapfv,ptr_glPixelMapfv,"glPixelMapfv",glPixelMapfv,GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPixelMapuiv,ptr_glPixelMapuiv,"glPixelMapuiv",glPixelMapuiv,GLenum -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glPixelMapusv,ptr_glPixelMapusv,"glPixelMapusv",glPixelMapusv,GLenum -> GLsizei -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glPixelTransferf,ptr_glPixelTransferf,"glPixelTransferf",glPixelTransferf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPixelTransferi,ptr_glPixelTransferi,"glPixelTransferi",glPixelTransferi,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glPixelZoom,ptr_glPixelZoom,"glPixelZoom",glPixelZoom,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPolygonStipple,ptr_glPolygonStipple,"glPolygonStipple",glPolygonStipple,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glPopAttrib,ptr_glPopAttrib,"glPopAttrib",glPopAttrib,IO ())
-EXTENSION_ENTRY(dyn_glPopClientAttrib,ptr_glPopClientAttrib,"glPopClientAttrib",glPopClientAttrib,IO ())
-EXTENSION_ENTRY(dyn_glPopMatrix,ptr_glPopMatrix,"glPopMatrix",glPopMatrix,IO ())
-EXTENSION_ENTRY(dyn_glPopName,ptr_glPopName,"glPopName",glPopName,IO ())
-EXTENSION_ENTRY(dyn_glPrioritizeTextures,ptr_glPrioritizeTextures,"glPrioritizeTextures",glPrioritizeTextures,GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
-EXTENSION_ENTRY(dyn_glPushAttrib,ptr_glPushAttrib,"glPushAttrib",glPushAttrib,GLbitfield -> IO ())
-EXTENSION_ENTRY(dyn_glPushClientAttrib,ptr_glPushClientAttrib,"glPushClientAttrib",glPushClientAttrib,GLbitfield -> IO ())
-EXTENSION_ENTRY(dyn_glPushMatrix,ptr_glPushMatrix,"glPushMatrix",glPushMatrix,IO ())
-EXTENSION_ENTRY(dyn_glPushName,ptr_glPushName,"glPushName",glPushName,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2d,ptr_glRasterPos2d,"glRasterPos2d",glRasterPos2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2dv,ptr_glRasterPos2dv,"glRasterPos2dv",glRasterPos2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2f,ptr_glRasterPos2f,"glRasterPos2f",glRasterPos2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2fv,ptr_glRasterPos2fv,"glRasterPos2fv",glRasterPos2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2i,ptr_glRasterPos2i,"glRasterPos2i",glRasterPos2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2iv,ptr_glRasterPos2iv,"glRasterPos2iv",glRasterPos2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2s,ptr_glRasterPos2s,"glRasterPos2s",glRasterPos2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos2sv,ptr_glRasterPos2sv,"glRasterPos2sv",glRasterPos2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3d,ptr_glRasterPos3d,"glRasterPos3d",glRasterPos3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3dv,ptr_glRasterPos3dv,"glRasterPos3dv",glRasterPos3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3f,ptr_glRasterPos3f,"glRasterPos3f",glRasterPos3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3fv,ptr_glRasterPos3fv,"glRasterPos3fv",glRasterPos3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3i,ptr_glRasterPos3i,"glRasterPos3i",glRasterPos3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3iv,ptr_glRasterPos3iv,"glRasterPos3iv",glRasterPos3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3s,ptr_glRasterPos3s,"glRasterPos3s",glRasterPos3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos3sv,ptr_glRasterPos3sv,"glRasterPos3sv",glRasterPos3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4d,ptr_glRasterPos4d,"glRasterPos4d",glRasterPos4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4dv,ptr_glRasterPos4dv,"glRasterPos4dv",glRasterPos4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4f,ptr_glRasterPos4f,"glRasterPos4f",glRasterPos4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4fv,ptr_glRasterPos4fv,"glRasterPos4fv",glRasterPos4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4i,ptr_glRasterPos4i,"glRasterPos4i",glRasterPos4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4iv,ptr_glRasterPos4iv,"glRasterPos4iv",glRasterPos4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4s,ptr_glRasterPos4s,"glRasterPos4s",glRasterPos4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRasterPos4sv,ptr_glRasterPos4sv,"glRasterPos4sv",glRasterPos4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRectd,ptr_glRectd,"glRectd",glRectd,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRectdv,ptr_glRectdv,"glRectdv",glRectdv,Ptr GLdouble -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRectf,ptr_glRectf,"glRectf",glRectf,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRectfv,ptr_glRectfv,"glRectfv",glRectfv,Ptr GLfloat -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glRecti,ptr_glRecti,"glRecti",glRecti,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRectiv,ptr_glRectiv,"glRectiv",glRectiv,Ptr GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glRects,ptr_glRects,"glRects",glRects,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRectsv,ptr_glRectsv,"glRectsv",glRectsv,Ptr GLshort -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glRenderMode,ptr_glRenderMode,"glRenderMode",glRenderMode,GLenum -> IO GLint)
-EXTENSION_ENTRY(dyn_glResetHistogram,ptr_glResetHistogram,"glResetHistogram",glResetHistogram,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glResetMinmax,ptr_glResetMinmax,"glResetMinmax",glResetMinmax,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glRotated,ptr_glRotated,"glRotated",glRotated,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glRotatef,ptr_glRotatef,"glRotatef",glRotatef,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glSamplePass,ptr_glSamplePass,"glSamplePass",glSamplePass,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glScaled,ptr_glScaled,"glScaled",glScaled,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glScalef,ptr_glScalef,"glScalef",glScalef,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3b,ptr_glSecondaryColor3b,"glSecondaryColor3b",glSecondaryColor3b,GLbyte -> GLbyte -> GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3bv,ptr_glSecondaryColor3bv,"glSecondaryColor3bv",glSecondaryColor3bv,Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3d,ptr_glSecondaryColor3d,"glSecondaryColor3d",glSecondaryColor3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3dv,ptr_glSecondaryColor3dv,"glSecondaryColor3dv",glSecondaryColor3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3f,ptr_glSecondaryColor3f,"glSecondaryColor3f",glSecondaryColor3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3fv,ptr_glSecondaryColor3fv,"glSecondaryColor3fv",glSecondaryColor3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3i,ptr_glSecondaryColor3i,"glSecondaryColor3i",glSecondaryColor3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3iv,ptr_glSecondaryColor3iv,"glSecondaryColor3iv",glSecondaryColor3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3s,ptr_glSecondaryColor3s,"glSecondaryColor3s",glSecondaryColor3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3sv,ptr_glSecondaryColor3sv,"glSecondaryColor3sv",glSecondaryColor3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3ub,ptr_glSecondaryColor3ub,"glSecondaryColor3ub",glSecondaryColor3ub,GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3ubv,ptr_glSecondaryColor3ubv,"glSecondaryColor3ubv",glSecondaryColor3ubv,Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3ui,ptr_glSecondaryColor3ui,"glSecondaryColor3ui",glSecondaryColor3ui,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3uiv,ptr_glSecondaryColor3uiv,"glSecondaryColor3uiv",glSecondaryColor3uiv,Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3us,ptr_glSecondaryColor3us,"glSecondaryColor3us",glSecondaryColor3us,GLushort -> GLushort -> GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColor3usv,ptr_glSecondaryColor3usv,"glSecondaryColor3usv",glSecondaryColor3usv,Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColorPointer,ptr_glSecondaryColorPointer,"glSecondaryColorPointer",glSecondaryColorPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glSelectBuffer,ptr_glSelectBuffer,"glSelectBuffer",glSelectBuffer,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glSeparableFilter2D,ptr_glSeparableFilter2D,"glSeparableFilter2D",glSeparableFilter2D,GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glShadeModel,ptr_glShadeModel,"glShadeModel",glShadeModel,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1d,ptr_glTexCoord1d,"glTexCoord1d",glTexCoord1d,GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1dv,ptr_glTexCoord1dv,"glTexCoord1dv",glTexCoord1dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1f,ptr_glTexCoord1f,"glTexCoord1f",glTexCoord1f,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1fv,ptr_glTexCoord1fv,"glTexCoord1fv",glTexCoord1fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1i,ptr_glTexCoord1i,"glTexCoord1i",glTexCoord1i,GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1iv,ptr_glTexCoord1iv,"glTexCoord1iv",glTexCoord1iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1s,ptr_glTexCoord1s,"glTexCoord1s",glTexCoord1s,GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord1sv,ptr_glTexCoord1sv,"glTexCoord1sv",glTexCoord1sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2d,ptr_glTexCoord2d,"glTexCoord2d",glTexCoord2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2dv,ptr_glTexCoord2dv,"glTexCoord2dv",glTexCoord2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2f,ptr_glTexCoord2f,"glTexCoord2f",glTexCoord2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2fv,ptr_glTexCoord2fv,"glTexCoord2fv",glTexCoord2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2i,ptr_glTexCoord2i,"glTexCoord2i",glTexCoord2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2iv,ptr_glTexCoord2iv,"glTexCoord2iv",glTexCoord2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2s,ptr_glTexCoord2s,"glTexCoord2s",glTexCoord2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord2sv,ptr_glTexCoord2sv,"glTexCoord2sv",glTexCoord2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3d,ptr_glTexCoord3d,"glTexCoord3d",glTexCoord3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3dv,ptr_glTexCoord3dv,"glTexCoord3dv",glTexCoord3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3f,ptr_glTexCoord3f,"glTexCoord3f",glTexCoord3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3fv,ptr_glTexCoord3fv,"glTexCoord3fv",glTexCoord3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3i,ptr_glTexCoord3i,"glTexCoord3i",glTexCoord3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3iv,ptr_glTexCoord3iv,"glTexCoord3iv",glTexCoord3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3s,ptr_glTexCoord3s,"glTexCoord3s",glTexCoord3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord3sv,ptr_glTexCoord3sv,"glTexCoord3sv",glTexCoord3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4d,ptr_glTexCoord4d,"glTexCoord4d",glTexCoord4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4dv,ptr_glTexCoord4dv,"glTexCoord4dv",glTexCoord4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4f,ptr_glTexCoord4f,"glTexCoord4f",glTexCoord4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4fv,ptr_glTexCoord4fv,"glTexCoord4fv",glTexCoord4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4i,ptr_glTexCoord4i,"glTexCoord4i",glTexCoord4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4iv,ptr_glTexCoord4iv,"glTexCoord4iv",glTexCoord4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4s,ptr_glTexCoord4s,"glTexCoord4s",glTexCoord4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoord4sv,ptr_glTexCoord4sv,"glTexCoord4sv",glTexCoord4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordPointer,ptr_glTexCoordPointer,"glTexCoordPointer",glTexCoordPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTexEnvf,ptr_glTexEnvf,"glTexEnvf",glTexEnvf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexEnvfv,ptr_glTexEnvfv,"glTexEnvfv",glTexEnvfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexEnvi,ptr_glTexEnvi,"glTexEnvi",glTexEnvi,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexEnviv,ptr_glTexEnviv,"glTexEnviv",glTexEnviv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexGend,ptr_glTexGend,"glTexGend",glTexGend,GLenum -> GLenum -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexGendv,ptr_glTexGendv,"glTexGendv",glTexGendv,GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTexGenf,ptr_glTexGenf,"glTexGenf",glTexGenf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexGenfv,ptr_glTexGenfv,"glTexGenfv",glTexGenfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexGeni,ptr_glTexGeni,"glTexGeni",glTexGeni,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexGeniv,ptr_glTexGeniv,"glTexGeniv",glTexGeniv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTranslated,ptr_glTranslated,"glTranslated",glTranslated,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glTranslatef,ptr_glTranslatef,"glTranslatef",glTranslatef,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2d,ptr_glVertex2d,"glVertex2d",glVertex2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2dv,ptr_glVertex2dv,"glVertex2dv",glVertex2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2f,ptr_glVertex2f,"glVertex2f",glVertex2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2fv,ptr_glVertex2fv,"glVertex2fv",glVertex2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2i,ptr_glVertex2i,"glVertex2i",glVertex2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2iv,ptr_glVertex2iv,"glVertex2iv",glVertex2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2s,ptr_glVertex2s,"glVertex2s",glVertex2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertex2sv,ptr_glVertex2sv,"glVertex2sv",glVertex2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3d,ptr_glVertex3d,"glVertex3d",glVertex3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3dv,ptr_glVertex3dv,"glVertex3dv",glVertex3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3f,ptr_glVertex3f,"glVertex3f",glVertex3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3fv,ptr_glVertex3fv,"glVertex3fv",glVertex3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3i,ptr_glVertex3i,"glVertex3i",glVertex3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3iv,ptr_glVertex3iv,"glVertex3iv",glVertex3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3s,ptr_glVertex3s,"glVertex3s",glVertex3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertex3sv,ptr_glVertex3sv,"glVertex3sv",glVertex3sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4d,ptr_glVertex4d,"glVertex4d",glVertex4d,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4dv,ptr_glVertex4dv,"glVertex4dv",glVertex4dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4f,ptr_glVertex4f,"glVertex4f",glVertex4f,GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4fv,ptr_glVertex4fv,"glVertex4fv",glVertex4fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4i,ptr_glVertex4i,"glVertex4i",glVertex4i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4iv,ptr_glVertex4iv,"glVertex4iv",glVertex4iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4s,ptr_glVertex4s,"glVertex4s",glVertex4s,GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertex4sv,ptr_glVertex4sv,"glVertex4sv",glVertex4sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexPointer,ptr_glVertexPointer,"glVertexPointer",glVertexPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2d,ptr_glWindowPos2d,"glWindowPos2d",glWindowPos2d,GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2dv,ptr_glWindowPos2dv,"glWindowPos2dv",glWindowPos2dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2f,ptr_glWindowPos2f,"glWindowPos2f",glWindowPos2f,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2fv,ptr_glWindowPos2fv,"glWindowPos2fv",glWindowPos2fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2i,ptr_glWindowPos2i,"glWindowPos2i",glWindowPos2i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2iv,ptr_glWindowPos2iv,"glWindowPos2iv",glWindowPos2iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2s,ptr_glWindowPos2s,"glWindowPos2s",glWindowPos2s,GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos2sv,ptr_glWindowPos2sv,"glWindowPos2sv",glWindowPos2sv,Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3d,ptr_glWindowPos3d,"glWindowPos3d",glWindowPos3d,GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3dv,ptr_glWindowPos3dv,"glWindowPos3dv",glWindowPos3dv,Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3f,ptr_glWindowPos3f,"glWindowPos3f",glWindowPos3f,GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3fv,ptr_glWindowPos3fv,"glWindowPos3fv",glWindowPos3fv,Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3i,ptr_glWindowPos3i,"glWindowPos3i",glWindowPos3i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3iv,ptr_glWindowPos3iv,"glWindowPos3iv",glWindowPos3iv,Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3s,ptr_glWindowPos3s,"glWindowPos3s",glWindowPos3s,GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glWindowPos3sv,ptr_glWindowPos3sv,"glWindowPos3sv",glWindowPos3sv,Ptr GLshort -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Tokens.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Tokens.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Compatibility/Tokens.hs
+++ /dev/null
@@ -1,1528 +0,0 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the ARB_compatibility extension, see
--- <http://www.opengl.org/registry/specs/ARB/compatibility.txt>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens where
-
-import Graphics.Rendering.OpenGL.Raw.Core31
-
-gl_2D :: GLenum
-gl_2D = 0x0600
-
-gl_2_BYTES :: GLenum
-gl_2_BYTES = 0x1407
-
-gl_3D :: GLenum
-gl_3D = 0x0601
-
-gl_3D_COLOR :: GLenum
-gl_3D_COLOR = 0x0602
-
-gl_3D_COLOR_TEXTURE :: GLenum
-gl_3D_COLOR_TEXTURE = 0x0603
-
-gl_3_BYTES :: GLenum
-gl_3_BYTES = 0x1408
-
-gl_4D_COLOR_TEXTURE :: GLenum
-gl_4D_COLOR_TEXTURE = 0x0604
-
-gl_4_BYTES :: GLenum
-gl_4_BYTES = 0x1409
-
-gl_ACCUM :: GLenum
-gl_ACCUM = 0x0100
-
-gl_ACCUM_ALPHA_BITS :: GLenum
-gl_ACCUM_ALPHA_BITS = 0x0D5B
-
-gl_ACCUM_BLUE_BITS :: GLenum
-gl_ACCUM_BLUE_BITS = 0x0D5A
-
-gl_ACCUM_BUFFER_BIT :: GLbitfield
-gl_ACCUM_BUFFER_BIT = 0x00000200
-
-gl_ACCUM_CLEAR_VALUE :: GLenum
-gl_ACCUM_CLEAR_VALUE = 0x0B80
-
-gl_ACCUM_GREEN_BITS :: GLenum
-gl_ACCUM_GREEN_BITS = 0x0D59
-
-gl_ACCUM_RED_BITS :: GLenum
-gl_ACCUM_RED_BITS = 0x0D58
-
-gl_ADD :: GLenum
-gl_ADD = 0x0104
-
-gl_ADD_SIGNED :: GLenum
-gl_ADD_SIGNED = 0x8574
-
-gl_ALIASED_POINT_SIZE_RANGE :: GLenum
-gl_ALIASED_POINT_SIZE_RANGE = 0x846D
-
-gl_ALL_ATTRIB_BITS :: GLbitfield
-gl_ALL_ATTRIB_BITS = 0xFFFFFFFF
-
-gl_ALPHA12 :: GLenum
-gl_ALPHA12 = 0x803D
-
-gl_ALPHA16 :: GLenum
-gl_ALPHA16 = 0x803E
-
-gl_ALPHA4 :: GLenum
-gl_ALPHA4 = 0x803B
-
-gl_ALPHA8 :: GLenum
-gl_ALPHA8 = 0x803C
-
-gl_ALPHA_BIAS :: GLenum
-gl_ALPHA_BIAS = 0x0D1D
-
-gl_ALPHA_BITS :: GLenum
-gl_ALPHA_BITS = 0x0D55
-
-gl_ALPHA_INTEGER :: GLenum
-gl_ALPHA_INTEGER = 0x8D97
-
-gl_ALPHA_SCALE :: GLenum
-gl_ALPHA_SCALE = 0x0D1C
-
-gl_ALPHA_TEST :: GLenum
-gl_ALPHA_TEST = 0x0BC0
-
-gl_ALPHA_TEST_FUNC :: GLenum
-gl_ALPHA_TEST_FUNC = 0x0BC1
-
-gl_ALPHA_TEST_REF :: GLenum
-gl_ALPHA_TEST_REF = 0x0BC2
-
-gl_AMBIENT :: GLenum
-gl_AMBIENT = 0x1200
-
-gl_AMBIENT_AND_DIFFUSE :: GLenum
-gl_AMBIENT_AND_DIFFUSE = 0x1602
-
-gl_ATTRIB_STACK_DEPTH :: GLenum
-gl_ATTRIB_STACK_DEPTH = 0x0BB0
-
-gl_AUTO_NORMAL :: GLenum
-gl_AUTO_NORMAL = 0x0D80
-
-gl_AUX0 :: GLenum
-gl_AUX0 = 0x0409
-
-gl_AUX1 :: GLenum
-gl_AUX1 = 0x040A
-
-gl_AUX2 :: GLenum
-gl_AUX2 = 0x040B
-
-gl_AUX3 :: GLenum
-gl_AUX3 = 0x040C
-
-gl_AUX_BUFFERS :: GLenum
-gl_AUX_BUFFERS = 0x0C00
-
-gl_BITMAP :: GLenum
-gl_BITMAP = 0x1A00
-
-gl_BITMAP_TOKEN :: GLenum
-gl_BITMAP_TOKEN = 0x0704
-
-gl_BLUE_BIAS :: GLenum
-gl_BLUE_BIAS = 0x0D1B
-
-gl_BLUE_BITS :: GLenum
-gl_BLUE_BITS = 0x0D54
-
-gl_BLUE_SCALE :: GLenum
-gl_BLUE_SCALE = 0x0D1A
-
-gl_C3F_V3F :: GLenum
-gl_C3F_V3F = 0x2A24
-
-gl_C4F_N3F_V3F :: GLenum
-gl_C4F_N3F_V3F = 0x2A26
-
-gl_C4UB_V2F :: GLenum
-gl_C4UB_V2F = 0x2A22
-
-gl_C4UB_V3F :: GLenum
-gl_C4UB_V3F = 0x2A23
-
-gl_CLAMP :: GLenum
-gl_CLAMP = 0x2900
-
-gl_CLAMP_FRAGMENT_COLOR :: GLenum
-gl_CLAMP_FRAGMENT_COLOR = 0x891B
-
-gl_CLAMP_VERTEX_COLOR :: GLenum
-gl_CLAMP_VERTEX_COLOR = 0x891A
-
-gl_CLIENT_ACTIVE_TEXTURE :: GLenum
-gl_CLIENT_ACTIVE_TEXTURE = 0x84E1
-
-gl_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
-gl_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF
-
-gl_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
-gl_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1
-
-gl_CLIENT_PIXEL_STORE_BIT :: GLbitfield
-gl_CLIENT_PIXEL_STORE_BIT = 0x00000001
-
-gl_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
-gl_CLIENT_VERTEX_ARRAY_BIT = 0x00000002
-
-gl_CLIP_PLANE0 :: GLenum
-gl_CLIP_PLANE0 = 0x3000
-
-gl_CLIP_PLANE1 :: GLenum
-gl_CLIP_PLANE1 = 0x3001
-
-gl_CLIP_PLANE2 :: GLenum
-gl_CLIP_PLANE2 = 0x3002
-
-gl_CLIP_PLANE3 :: GLenum
-gl_CLIP_PLANE3 = 0x3003
-
-gl_CLIP_PLANE4 :: GLenum
-gl_CLIP_PLANE4 = 0x3004
-
-gl_CLIP_PLANE5 :: GLenum
-gl_CLIP_PLANE5 = 0x3005
-
-gl_COEFF :: GLenum
-gl_COEFF = 0x0A00
-
-gl_COLOR_ARRAY :: GLenum
-gl_COLOR_ARRAY = 0x8076
-
-gl_COLOR_ARRAY_BUFFER_BINDING :: GLenum
-gl_COLOR_ARRAY_BUFFER_BINDING = 0x8898
-
-gl_COLOR_ARRAY_COUNT :: GLenum
-gl_COLOR_ARRAY_COUNT = 0x8084
-
-gl_COLOR_ARRAY_POINTER :: GLenum
-gl_COLOR_ARRAY_POINTER = 0x8090
-
-gl_COLOR_ARRAY_SIZE :: GLenum
-gl_COLOR_ARRAY_SIZE = 0x8081
-
-gl_COLOR_ARRAY_STRIDE :: GLenum
-gl_COLOR_ARRAY_STRIDE = 0x8083
-
-gl_COLOR_ARRAY_TYPE :: GLenum
-gl_COLOR_ARRAY_TYPE = 0x8082
-
-gl_COLOR_INDEX :: GLenum
-gl_COLOR_INDEX = 0x1900
-
-gl_COLOR_INDEXES :: GLenum
-gl_COLOR_INDEXES = 0x1603
-
-gl_COLOR_MATERIAL :: GLenum
-gl_COLOR_MATERIAL = 0x0B57
-
-gl_COLOR_MATERIAL_FACE :: GLenum
-gl_COLOR_MATERIAL_FACE = 0x0B55
-
-gl_COLOR_MATERIAL_PARAMETER :: GLenum
-gl_COLOR_MATERIAL_PARAMETER = 0x0B56
-
-gl_COLOR_MATRIX :: GLenum
-gl_COLOR_MATRIX = 0x80B1
-
-gl_COLOR_MATRIX_STACK_DEPTH :: GLenum
-gl_COLOR_MATRIX_STACK_DEPTH = 0x80B2
-
-gl_COLOR_SUM :: GLenum
-gl_COLOR_SUM = 0x8458
-
-gl_COLOR_TABLE :: GLenum
-gl_COLOR_TABLE = 0x80D0
-
-gl_COLOR_TABLE_ALPHA_SIZE :: GLenum
-gl_COLOR_TABLE_ALPHA_SIZE = 0x80DD
-
-gl_COLOR_TABLE_BIAS :: GLenum
-gl_COLOR_TABLE_BIAS = 0x80D7
-
-gl_COLOR_TABLE_BLUE_SIZE :: GLenum
-gl_COLOR_TABLE_BLUE_SIZE = 0x80DC
-
-gl_COLOR_TABLE_FORMAT :: GLenum
-gl_COLOR_TABLE_FORMAT = 0x80D8
-
-gl_COLOR_TABLE_GREEN_SIZE :: GLenum
-gl_COLOR_TABLE_GREEN_SIZE = 0x80DB
-
-gl_COLOR_TABLE_INTENSITY_SIZE :: GLenum
-gl_COLOR_TABLE_INTENSITY_SIZE = 0x80DF
-
-gl_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
-gl_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE
-
-gl_COLOR_TABLE_RED_SIZE :: GLenum
-gl_COLOR_TABLE_RED_SIZE = 0x80DA
-
-gl_COLOR_TABLE_SCALE :: GLenum
-gl_COLOR_TABLE_SCALE = 0x80D6
-
-gl_COLOR_TABLE_WIDTH :: GLenum
-gl_COLOR_TABLE_WIDTH = 0x80D9
-
-gl_COMBINE :: GLenum
-gl_COMBINE = 0x8570
-
-gl_COMBINE_ALPHA :: GLenum
-gl_COMBINE_ALPHA = 0x8572
-
-gl_COMBINE_RGB :: GLenum
-gl_COMBINE_RGB = 0x8571
-
-gl_COMPARE_R_TO_TEXTURE :: GLenum
-gl_COMPARE_R_TO_TEXTURE = 0x884E
-
-gl_COMPILE :: GLenum
-gl_COMPILE = 0x1300
-
-gl_COMPILE_AND_EXECUTE :: GLenum
-gl_COMPILE_AND_EXECUTE = 0x1301
-
-gl_COMPRESSED_ALPHA :: GLenum
-gl_COMPRESSED_ALPHA = 0x84E9
-
-gl_COMPRESSED_INTENSITY :: GLenum
-gl_COMPRESSED_INTENSITY = 0x84EC
-
-gl_COMPRESSED_LUMINANCE :: GLenum
-gl_COMPRESSED_LUMINANCE = 0x84EA
-
-gl_COMPRESSED_LUMINANCE_ALPHA :: GLenum
-gl_COMPRESSED_LUMINANCE_ALPHA = 0x84EB
-
-gl_COMPRESSED_SLUMINANCE :: GLenum
-gl_COMPRESSED_SLUMINANCE = 0x8C4A
-
-gl_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
-gl_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B
-
-gl_CONSTANT :: GLenum
-gl_CONSTANT = 0x8576
-
-gl_CONSTANT_ATTENUATION :: GLenum
-gl_CONSTANT_ATTENUATION = 0x1207
-
-gl_CONSTANT_BORDER :: GLenum
-gl_CONSTANT_BORDER = 0x8151
-
-gl_CONVOLUTION_1D :: GLenum
-gl_CONVOLUTION_1D = 0x8010
-
-gl_CONVOLUTION_2D :: GLenum
-gl_CONVOLUTION_2D = 0x8011
-
-gl_CONVOLUTION_BORDER_COLOR :: GLenum
-gl_CONVOLUTION_BORDER_COLOR = 0x8154
-
-gl_CONVOLUTION_BORDER_MODE :: GLenum
-gl_CONVOLUTION_BORDER_MODE = 0x8013
-
-gl_CONVOLUTION_FILTER_BIAS :: GLenum
-gl_CONVOLUTION_FILTER_BIAS = 0x8015
-
-gl_CONVOLUTION_FILTER_SCALE :: GLenum
-gl_CONVOLUTION_FILTER_SCALE = 0x8014
-
-gl_CONVOLUTION_FORMAT :: GLenum
-gl_CONVOLUTION_FORMAT = 0x8017
-
-gl_CONVOLUTION_HEIGHT :: GLenum
-gl_CONVOLUTION_HEIGHT = 0x8019
-
-gl_CONVOLUTION_WIDTH :: GLenum
-gl_CONVOLUTION_WIDTH = 0x8018
-
-gl_COORD_REPLACE :: GLenum
-gl_COORD_REPLACE = 0x8862
-
-gl_COPY_PIXEL_TOKEN :: GLenum
-gl_COPY_PIXEL_TOKEN = 0x0706
-
-gl_CURRENT_BIT :: GLbitfield
-gl_CURRENT_BIT = 0x00000001
-
-gl_CURRENT_COLOR :: GLenum
-gl_CURRENT_COLOR = 0x0B00
-
-gl_CURRENT_FOG_COORD :: GLenum
-gl_CURRENT_FOG_COORD = 0x8453
-
-gl_CURRENT_FOG_COORDINATE :: GLenum
-gl_CURRENT_FOG_COORDINATE = 0x8453
-
-gl_CURRENT_INDEX :: GLenum
-gl_CURRENT_INDEX = 0x0B01
-
-gl_CURRENT_NORMAL :: GLenum
-gl_CURRENT_NORMAL = 0x0B02
-
-gl_CURRENT_RASTER_COLOR :: GLenum
-gl_CURRENT_RASTER_COLOR = 0x0B04
-
-gl_CURRENT_RASTER_DISTANCE :: GLenum
-gl_CURRENT_RASTER_DISTANCE = 0x0B09
-
-gl_CURRENT_RASTER_INDEX :: GLenum
-gl_CURRENT_RASTER_INDEX = 0x0B05
-
-gl_CURRENT_RASTER_POSITION :: GLenum
-gl_CURRENT_RASTER_POSITION = 0x0B07
-
-gl_CURRENT_RASTER_POSITION_VALID :: GLenum
-gl_CURRENT_RASTER_POSITION_VALID = 0x0B08
-
-gl_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
-gl_CURRENT_RASTER_SECONDARY_COLOR = 0x845F
-
-gl_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
-gl_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06
-
-gl_CURRENT_SECONDARY_COLOR :: GLenum
-gl_CURRENT_SECONDARY_COLOR = 0x8459
-
-gl_CURRENT_TEXTURE_COORDS :: GLenum
-gl_CURRENT_TEXTURE_COORDS = 0x0B03
-
-gl_DECAL :: GLenum
-gl_DECAL = 0x2101
-
-gl_DEPTH_BIAS :: GLenum
-gl_DEPTH_BIAS = 0x0D1F
-
-gl_DEPTH_BITS :: GLenum
-gl_DEPTH_BITS = 0x0D56
-
-gl_DEPTH_SCALE :: GLenum
-gl_DEPTH_SCALE = 0x0D1E
-
-gl_DEPTH_TEXTURE_MODE :: GLenum
-gl_DEPTH_TEXTURE_MODE = 0x884B
-
-gl_DIFFUSE :: GLenum
-gl_DIFFUSE = 0x1201
-
-gl_DOMAIN :: GLenum
-gl_DOMAIN = 0x0A02
-
-gl_DOT3_RGB :: GLenum
-gl_DOT3_RGB = 0x86AE
-
-gl_DOT3_RGBA :: GLenum
-gl_DOT3_RGBA = 0x86AF
-
-gl_DRAW_PIXEL_TOKEN :: GLenum
-gl_DRAW_PIXEL_TOKEN = 0x0705
-
-gl_EDGE_FLAG :: GLenum
-gl_EDGE_FLAG = 0x0B43
-
-gl_EDGE_FLAG_ARRAY :: GLenum
-gl_EDGE_FLAG_ARRAY = 0x8079
-
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
-gl_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B
-
-gl_EDGE_FLAG_ARRAY_COUNT :: GLenum
-gl_EDGE_FLAG_ARRAY_COUNT = 0x808D
-
-gl_EDGE_FLAG_ARRAY_POINTER :: GLenum
-gl_EDGE_FLAG_ARRAY_POINTER = 0x8093
-
-gl_EDGE_FLAG_ARRAY_STRIDE :: GLenum
-gl_EDGE_FLAG_ARRAY_STRIDE = 0x808C
-
-gl_EMISSION :: GLenum
-gl_EMISSION = 0x1600
-
-gl_ENABLE_BIT :: GLbitfield
-gl_ENABLE_BIT = 0x00002000
-
-gl_EVAL_BIT :: GLbitfield
-gl_EVAL_BIT = 0x00010000
-
-gl_EXP :: GLenum
-gl_EXP = 0x0800
-
-gl_EXP2 :: GLenum
-gl_EXP2 = 0x0801
-
-gl_EYE_LINEAR :: GLenum
-gl_EYE_LINEAR = 0x2400
-
-gl_EYE_PLANE :: GLenum
-gl_EYE_PLANE = 0x2502
-
-gl_FEEDBACK :: GLenum
-gl_FEEDBACK = 0x1C01
-
-gl_FEEDBACK_BUFFER_POINTER :: GLenum
-gl_FEEDBACK_BUFFER_POINTER = 0x0DF0
-
-gl_FEEDBACK_BUFFER_SIZE :: GLenum
-gl_FEEDBACK_BUFFER_SIZE = 0x0DF1
-
-gl_FEEDBACK_BUFFER_TYPE :: GLenum
-gl_FEEDBACK_BUFFER_TYPE = 0x0DF2
-
-gl_FLAT :: GLenum
-gl_FLAT = 0x1D00
-
-gl_FOG :: GLenum
-gl_FOG = 0x0B60
-
-gl_FOG_BIT :: GLbitfield
-gl_FOG_BIT = 0x00000080
-
-gl_FOG_COLOR :: GLenum
-gl_FOG_COLOR = 0x0B66
-
-gl_FOG_COORD :: GLenum
-gl_FOG_COORD = 0x8451
-
-gl_FOG_COORDINATE :: GLenum
-gl_FOG_COORDINATE = 0x8451
-
-gl_FOG_COORDINATE_ARRAY :: GLenum
-gl_FOG_COORDINATE_ARRAY = 0x8457
-
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
-gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D
-
-gl_FOG_COORDINATE_ARRAY_POINTER :: GLenum
-gl_FOG_COORDINATE_ARRAY_POINTER = 0x8456
-
-gl_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
-gl_FOG_COORDINATE_ARRAY_STRIDE = 0x8455
-
-gl_FOG_COORDINATE_ARRAY_TYPE :: GLenum
-gl_FOG_COORDINATE_ARRAY_TYPE = 0x8454
-
-gl_FOG_COORDINATE_SOURCE :: GLenum
-gl_FOG_COORDINATE_SOURCE = 0x8450
-
-gl_FOG_COORD_ARRAY :: GLenum
-gl_FOG_COORD_ARRAY = 0x8457
-
-gl_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
-gl_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D
-
-gl_FOG_COORD_ARRAY_POINTER :: GLenum
-gl_FOG_COORD_ARRAY_POINTER = 0x8456
-
-gl_FOG_COORD_ARRAY_STRIDE :: GLenum
-gl_FOG_COORD_ARRAY_STRIDE = 0x8455
-
-gl_FOG_COORD_ARRAY_TYPE :: GLenum
-gl_FOG_COORD_ARRAY_TYPE = 0x8454
-
-gl_FOG_COORD_SRC :: GLenum
-gl_FOG_COORD_SRC = 0x8450
-
-gl_FOG_DENSITY :: GLenum
-gl_FOG_DENSITY = 0x0B62
-
-gl_FOG_END :: GLenum
-gl_FOG_END = 0x0B64
-
-gl_FOG_HINT :: GLenum
-gl_FOG_HINT = 0x0C54
-
-gl_FOG_INDEX :: GLenum
-gl_FOG_INDEX = 0x0B61
-
-gl_FOG_MODE :: GLenum
-gl_FOG_MODE = 0x0B65
-
-gl_FOG_START :: GLenum
-gl_FOG_START = 0x0B63
-
-gl_FRAGMENT_DEPTH :: GLenum
-gl_FRAGMENT_DEPTH = 0x8452
-
-gl_GENERATE_MIPMAP :: GLenum
-gl_GENERATE_MIPMAP = 0x8191
-
-gl_GENERATE_MIPMAP_HINT :: GLenum
-gl_GENERATE_MIPMAP_HINT = 0x8192
-
-gl_GREEN_BIAS :: GLenum
-gl_GREEN_BIAS = 0x0D19
-
-gl_GREEN_BITS :: GLenum
-gl_GREEN_BITS = 0x0D53
-
-gl_GREEN_SCALE :: GLenum
-gl_GREEN_SCALE = 0x0D18
-
-gl_HINT_BIT :: GLbitfield
-gl_HINT_BIT = 0x00008000
-
-gl_HISTOGRAM :: GLenum
-gl_HISTOGRAM = 0x8024
-
-gl_HISTOGRAM_ALPHA_SIZE :: GLenum
-gl_HISTOGRAM_ALPHA_SIZE = 0x802B
-
-gl_HISTOGRAM_BLUE_SIZE :: GLenum
-gl_HISTOGRAM_BLUE_SIZE = 0x802A
-
-gl_HISTOGRAM_FORMAT :: GLenum
-gl_HISTOGRAM_FORMAT = 0x8027
-
-gl_HISTOGRAM_GREEN_SIZE :: GLenum
-gl_HISTOGRAM_GREEN_SIZE = 0x8029
-
-gl_HISTOGRAM_LUMINANCE_SIZE :: GLenum
-gl_HISTOGRAM_LUMINANCE_SIZE = 0x802C
-
-gl_HISTOGRAM_RED_SIZE :: GLenum
-gl_HISTOGRAM_RED_SIZE = 0x8028
-
-gl_HISTOGRAM_SINK :: GLenum
-gl_HISTOGRAM_SINK = 0x802D
-
-gl_HISTOGRAM_WIDTH :: GLenum
-gl_HISTOGRAM_WIDTH = 0x8026
-
-gl_INDEX :: GLenum
-gl_INDEX = 0x8222
-
-gl_INDEX_ARRAY :: GLenum
-gl_INDEX_ARRAY = 0x8077
-
-gl_INDEX_ARRAY_BUFFER_BINDING :: GLenum
-gl_INDEX_ARRAY_BUFFER_BINDING = 0x8899
-
-gl_INDEX_ARRAY_COUNT :: GLenum
-gl_INDEX_ARRAY_COUNT = 0x8087
-
-gl_INDEX_ARRAY_POINTER :: GLenum
-gl_INDEX_ARRAY_POINTER = 0x8091
-
-gl_INDEX_ARRAY_STRIDE :: GLenum
-gl_INDEX_ARRAY_STRIDE = 0x8086
-
-gl_INDEX_ARRAY_TYPE :: GLenum
-gl_INDEX_ARRAY_TYPE = 0x8085
-
-gl_INDEX_BITS :: GLenum
-gl_INDEX_BITS = 0x0D51
-
-gl_INDEX_CLEAR_VALUE :: GLenum
-gl_INDEX_CLEAR_VALUE = 0x0C20
-
-gl_INDEX_LOGIC_OP :: GLenum
-gl_INDEX_LOGIC_OP = 0x0BF1
-
-gl_INDEX_MODE :: GLenum
-gl_INDEX_MODE = 0x0C30
-
-gl_INDEX_OFFSET :: GLenum
-gl_INDEX_OFFSET = 0x0D13
-
-gl_INDEX_SHIFT :: GLenum
-gl_INDEX_SHIFT = 0x0D12
-
-gl_INDEX_WRITEMASK :: GLenum
-gl_INDEX_WRITEMASK = 0x0C21
-
-gl_INTENSITY :: GLenum
-gl_INTENSITY = 0x8049
-
-gl_INTENSITY12 :: GLenum
-gl_INTENSITY12 = 0x804C
-
-gl_INTENSITY16 :: GLenum
-gl_INTENSITY16 = 0x804D
-
-gl_INTENSITY4 :: GLenum
-gl_INTENSITY4 = 0x804A
-
-gl_INTENSITY8 :: GLenum
-gl_INTENSITY8 = 0x804B
-
-gl_INTERPOLATE :: GLenum
-gl_INTERPOLATE = 0x8575
-
-gl_LIGHT0 :: GLenum
-gl_LIGHT0 = 0x4000
-
-gl_LIGHT1 :: GLenum
-gl_LIGHT1 = 0x4001
-
-gl_LIGHT2 :: GLenum
-gl_LIGHT2 = 0x4002
-
-gl_LIGHT3 :: GLenum
-gl_LIGHT3 = 0x4003
-
-gl_LIGHT4 :: GLenum
-gl_LIGHT4 = 0x4004
-
-gl_LIGHT5 :: GLenum
-gl_LIGHT5 = 0x4005
-
-gl_LIGHT6 :: GLenum
-gl_LIGHT6 = 0x4006
-
-gl_LIGHT7 :: GLenum
-gl_LIGHT7 = 0x4007
-
-gl_LIGHTING :: GLenum
-gl_LIGHTING = 0x0B50
-
-gl_LIGHTING_BIT :: GLbitfield
-gl_LIGHTING_BIT = 0x00000040
-
-gl_LIGHT_MODEL_AMBIENT :: GLenum
-gl_LIGHT_MODEL_AMBIENT = 0x0B53
-
-gl_LIGHT_MODEL_COLOR_CONTROL :: GLenum
-gl_LIGHT_MODEL_COLOR_CONTROL = 0x81F8
-
-gl_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
-gl_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51
-
-gl_LIGHT_MODEL_TWO_SIDE :: GLenum
-gl_LIGHT_MODEL_TWO_SIDE = 0x0B52
-
-gl_LINEAR_ATTENUATION :: GLenum
-gl_LINEAR_ATTENUATION = 0x1208
-
-gl_LINE_BIT :: GLbitfield
-gl_LINE_BIT = 0x00000004
-
-gl_LINE_RESET_TOKEN :: GLenum
-gl_LINE_RESET_TOKEN = 0x0707
-
-gl_LINE_STIPPLE :: GLenum
-gl_LINE_STIPPLE = 0x0B24
-
-gl_LINE_STIPPLE_PATTERN :: GLenum
-gl_LINE_STIPPLE_PATTERN = 0x0B25
-
-gl_LINE_STIPPLE_REPEAT :: GLenum
-gl_LINE_STIPPLE_REPEAT = 0x0B26
-
-gl_LINE_TOKEN :: GLenum
-gl_LINE_TOKEN = 0x0702
-
-gl_LIST_BASE :: GLenum
-gl_LIST_BASE = 0x0B32
-
-gl_LIST_BIT :: GLbitfield
-gl_LIST_BIT = 0x00020000
-
-gl_LIST_INDEX :: GLenum
-gl_LIST_INDEX = 0x0B33
-
-gl_LIST_MODE :: GLenum
-gl_LIST_MODE = 0x0B30
-
-gl_LOAD :: GLenum
-gl_LOAD = 0x0101
-
-gl_LOGIC_OP :: GLenum
-gl_LOGIC_OP = 0x0BF1
-
-gl_LUMINANCE :: GLenum
-gl_LUMINANCE = 0x1909
-
-gl_LUMINANCE12 :: GLenum
-gl_LUMINANCE12 = 0x8041
-
-gl_LUMINANCE12_ALPHA12 :: GLenum
-gl_LUMINANCE12_ALPHA12 = 0x8047
-
-gl_LUMINANCE12_ALPHA4 :: GLenum
-gl_LUMINANCE12_ALPHA4 = 0x8046
-
-gl_LUMINANCE16 :: GLenum
-gl_LUMINANCE16 = 0x8042
-
-gl_LUMINANCE16_ALPHA16 :: GLenum
-gl_LUMINANCE16_ALPHA16 = 0x8048
-
-gl_LUMINANCE4 :: GLenum
-gl_LUMINANCE4 = 0x803F
-
-gl_LUMINANCE4_ALPHA4 :: GLenum
-gl_LUMINANCE4_ALPHA4 = 0x8043
-
-gl_LUMINANCE6_ALPHA2 :: GLenum
-gl_LUMINANCE6_ALPHA2 = 0x8044
-
-gl_LUMINANCE8 :: GLenum
-gl_LUMINANCE8 = 0x8040
-
-gl_LUMINANCE8_ALPHA8 :: GLenum
-gl_LUMINANCE8_ALPHA8 = 0x8045
-
-gl_LUMINANCE_ALPHA :: GLenum
-gl_LUMINANCE_ALPHA = 0x190A
-
-gl_MAP1_COLOR_4 :: GLenum
-gl_MAP1_COLOR_4 = 0x0D90
-
-gl_MAP1_GRID_DOMAIN :: GLenum
-gl_MAP1_GRID_DOMAIN = 0x0DD0
-
-gl_MAP1_GRID_SEGMENTS :: GLenum
-gl_MAP1_GRID_SEGMENTS = 0x0DD1
-
-gl_MAP1_INDEX :: GLenum
-gl_MAP1_INDEX = 0x0D91
-
-gl_MAP1_NORMAL :: GLenum
-gl_MAP1_NORMAL = 0x0D92
-
-gl_MAP1_TEXTURE_COORD_1 :: GLenum
-gl_MAP1_TEXTURE_COORD_1 = 0x0D93
-
-gl_MAP1_TEXTURE_COORD_2 :: GLenum
-gl_MAP1_TEXTURE_COORD_2 = 0x0D94
-
-gl_MAP1_TEXTURE_COORD_3 :: GLenum
-gl_MAP1_TEXTURE_COORD_3 = 0x0D95
-
-gl_MAP1_TEXTURE_COORD_4 :: GLenum
-gl_MAP1_TEXTURE_COORD_4 = 0x0D96
-
-gl_MAP1_VERTEX_3 :: GLenum
-gl_MAP1_VERTEX_3 = 0x0D97
-
-gl_MAP1_VERTEX_4 :: GLenum
-gl_MAP1_VERTEX_4 = 0x0D98
-
-gl_MAP2_COLOR_4 :: GLenum
-gl_MAP2_COLOR_4 = 0x0DB0
-
-gl_MAP2_GRID_DOMAIN :: GLenum
-gl_MAP2_GRID_DOMAIN = 0x0DD2
-
-gl_MAP2_GRID_SEGMENTS :: GLenum
-gl_MAP2_GRID_SEGMENTS = 0x0DD3
-
-gl_MAP2_INDEX :: GLenum
-gl_MAP2_INDEX = 0x0DB1
-
-gl_MAP2_NORMAL :: GLenum
-gl_MAP2_NORMAL = 0x0DB2
-
-gl_MAP2_TEXTURE_COORD_1 :: GLenum
-gl_MAP2_TEXTURE_COORD_1 = 0x0DB3
-
-gl_MAP2_TEXTURE_COORD_2 :: GLenum
-gl_MAP2_TEXTURE_COORD_2 = 0x0DB4
-
-gl_MAP2_TEXTURE_COORD_3 :: GLenum
-gl_MAP2_TEXTURE_COORD_3 = 0x0DB5
-
-gl_MAP2_TEXTURE_COORD_4 :: GLenum
-gl_MAP2_TEXTURE_COORD_4 = 0x0DB6
-
-gl_MAP2_VERTEX_3 :: GLenum
-gl_MAP2_VERTEX_3 = 0x0DB7
-
-gl_MAP2_VERTEX_4 :: GLenum
-gl_MAP2_VERTEX_4 = 0x0DB8
-
-gl_MAP_COLOR :: GLenum
-gl_MAP_COLOR = 0x0D10
-
-gl_MAP_STENCIL :: GLenum
-gl_MAP_STENCIL = 0x0D11
-
-gl_MATRIX_MODE :: GLenum
-gl_MATRIX_MODE = 0x0BA0
-
-gl_MAX_ATTRIB_STACK_DEPTH :: GLenum
-gl_MAX_ATTRIB_STACK_DEPTH = 0x0D35
-
-gl_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
-gl_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B
-
-gl_MAX_CLIP_PLANES :: GLenum
-gl_MAX_CLIP_PLANES = 0x0D32
-
-gl_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
-gl_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3
-
-gl_MAX_CONVOLUTION_HEIGHT :: GLenum
-gl_MAX_CONVOLUTION_HEIGHT = 0x801B
-
-gl_MAX_CONVOLUTION_WIDTH :: GLenum
-gl_MAX_CONVOLUTION_WIDTH = 0x801A
-
-gl_MAX_EVAL_ORDER :: GLenum
-gl_MAX_EVAL_ORDER = 0x0D30
-
-gl_MAX_LIGHTS :: GLenum
-gl_MAX_LIGHTS = 0x0D31
-
-gl_MAX_LIST_NESTING :: GLenum
-gl_MAX_LIST_NESTING = 0x0B31
-
-gl_MAX_MODELVIEW_STACK_DEPTH :: GLenum
-gl_MAX_MODELVIEW_STACK_DEPTH = 0x0D36
-
-gl_MAX_NAME_STACK_DEPTH :: GLenum
-gl_MAX_NAME_STACK_DEPTH = 0x0D37
-
-gl_MAX_PIXEL_MAP_TABLE :: GLenum
-gl_MAX_PIXEL_MAP_TABLE = 0x0D34
-
-gl_MAX_PROJECTION_STACK_DEPTH :: GLenum
-gl_MAX_PROJECTION_STACK_DEPTH = 0x0D38
-
-gl_MAX_TEXTURE_COORDS :: GLenum
-gl_MAX_TEXTURE_COORDS = 0x8871
-
-gl_MAX_TEXTURE_STACK_DEPTH :: GLenum
-gl_MAX_TEXTURE_STACK_DEPTH = 0x0D39
-
-gl_MAX_TEXTURE_UNITS :: GLenum
-gl_MAX_TEXTURE_UNITS = 0x84E2
-
-gl_MINMAX :: GLenum
-gl_MINMAX = 0x802E
-
-gl_MINMAX_FORMAT :: GLenum
-gl_MINMAX_FORMAT = 0x802F
-
-gl_MINMAX_SINK :: GLenum
-gl_MINMAX_SINK = 0x8030
-
-gl_MODELVIEW :: GLenum
-gl_MODELVIEW = 0x1700
-
-gl_MODELVIEW_MATRIX :: GLenum
-gl_MODELVIEW_MATRIX = 0x0BA6
-
-gl_MODELVIEW_STACK_DEPTH :: GLenum
-gl_MODELVIEW_STACK_DEPTH = 0x0BA3
-
-gl_MODULATE :: GLenum
-gl_MODULATE = 0x2100
-
-gl_MULT :: GLenum
-gl_MULT = 0x0103
-
-gl_MULTISAMPLE_BIT :: GLbitfield
-gl_MULTISAMPLE_BIT = 0x20000000
-
-gl_N3F_V3F :: GLenum
-gl_N3F_V3F = 0x2A25
-
-gl_NAME_STACK_DEPTH :: GLenum
-gl_NAME_STACK_DEPTH = 0x0D70
-
-gl_NORMALIZE :: GLenum
-gl_NORMALIZE = 0x0BA1
-
-gl_NORMAL_ARRAY :: GLenum
-gl_NORMAL_ARRAY = 0x8075
-
-gl_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
-gl_NORMAL_ARRAY_BUFFER_BINDING = 0x8897
-
-gl_NORMAL_ARRAY_COUNT :: GLenum
-gl_NORMAL_ARRAY_COUNT = 0x8080
-
-gl_NORMAL_ARRAY_POINTER :: GLenum
-gl_NORMAL_ARRAY_POINTER = 0x808F
-
-gl_NORMAL_ARRAY_STRIDE :: GLenum
-gl_NORMAL_ARRAY_STRIDE = 0x807F
-
-gl_NORMAL_ARRAY_TYPE :: GLenum
-gl_NORMAL_ARRAY_TYPE = 0x807E
-
-gl_NORMAL_MAP :: GLenum
-gl_NORMAL_MAP = 0x8511
-
-gl_OBJECT_LINEAR :: GLenum
-gl_OBJECT_LINEAR = 0x2401
-
-gl_OBJECT_PLANE :: GLenum
-gl_OBJECT_PLANE = 0x2501
-
-gl_OPERAND0_ALPHA :: GLenum
-gl_OPERAND0_ALPHA = 0x8598
-
-gl_OPERAND0_RGB :: GLenum
-gl_OPERAND0_RGB = 0x8590
-
-gl_OPERAND1_ALPHA :: GLenum
-gl_OPERAND1_ALPHA = 0x8599
-
-gl_OPERAND1_RGB :: GLenum
-gl_OPERAND1_RGB = 0x8591
-
-gl_OPERAND2_ALPHA :: GLenum
-gl_OPERAND2_ALPHA = 0x859A
-
-gl_OPERAND2_RGB :: GLenum
-gl_OPERAND2_RGB = 0x8592
-
-gl_ORDER :: GLenum
-gl_ORDER = 0x0A01
-
-gl_PASS_THROUGH_TOKEN :: GLenum
-gl_PASS_THROUGH_TOKEN = 0x0700
-
-gl_PERSPECTIVE_CORRECTION_HINT :: GLenum
-gl_PERSPECTIVE_CORRECTION_HINT = 0x0C50
-
-gl_PIXEL_MAP_A_TO_A :: GLenum
-gl_PIXEL_MAP_A_TO_A = 0x0C79
-
-gl_PIXEL_MAP_A_TO_A_SIZE :: GLenum
-gl_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9
-
-gl_PIXEL_MAP_B_TO_B :: GLenum
-gl_PIXEL_MAP_B_TO_B = 0x0C78
-
-gl_PIXEL_MAP_B_TO_B_SIZE :: GLenum
-gl_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8
-
-gl_PIXEL_MAP_G_TO_G :: GLenum
-gl_PIXEL_MAP_G_TO_G = 0x0C77
-
-gl_PIXEL_MAP_G_TO_G_SIZE :: GLenum
-gl_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7
-
-gl_PIXEL_MAP_I_TO_A :: GLenum
-gl_PIXEL_MAP_I_TO_A = 0x0C75
-
-gl_PIXEL_MAP_I_TO_A_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5
-
-gl_PIXEL_MAP_I_TO_B :: GLenum
-gl_PIXEL_MAP_I_TO_B = 0x0C74
-
-gl_PIXEL_MAP_I_TO_B_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4
-
-gl_PIXEL_MAP_I_TO_G :: GLenum
-gl_PIXEL_MAP_I_TO_G = 0x0C73
-
-gl_PIXEL_MAP_I_TO_G_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3
-
-gl_PIXEL_MAP_I_TO_I :: GLenum
-gl_PIXEL_MAP_I_TO_I = 0x0C70
-
-gl_PIXEL_MAP_I_TO_I_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0
-
-gl_PIXEL_MAP_I_TO_R :: GLenum
-gl_PIXEL_MAP_I_TO_R = 0x0C72
-
-gl_PIXEL_MAP_I_TO_R_SIZE :: GLenum
-gl_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2
-
-gl_PIXEL_MAP_R_TO_R :: GLenum
-gl_PIXEL_MAP_R_TO_R = 0x0C76
-
-gl_PIXEL_MAP_R_TO_R_SIZE :: GLenum
-gl_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6
-
-gl_PIXEL_MAP_S_TO_S :: GLenum
-gl_PIXEL_MAP_S_TO_S = 0x0C71
-
-gl_PIXEL_MAP_S_TO_S_SIZE :: GLenum
-gl_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1
-
-gl_PIXEL_MODE_BIT :: GLbitfield
-gl_PIXEL_MODE_BIT = 0x00000020
-
-gl_POINT_BIT :: GLbitfield
-gl_POINT_BIT = 0x00000002
-
-gl_POINT_DISTANCE_ATTENUATION :: GLenum
-gl_POINT_DISTANCE_ATTENUATION = 0x8129
-
-gl_POINT_SIZE_MAX :: GLenum
-gl_POINT_SIZE_MAX = 0x8127
-
-gl_POINT_SIZE_MIN :: GLenum
-gl_POINT_SIZE_MIN = 0x8126
-
-gl_POINT_SMOOTH :: GLenum
-gl_POINT_SMOOTH = 0x0B10
-
-gl_POINT_SMOOTH_HINT :: GLenum
-gl_POINT_SMOOTH_HINT = 0x0C51
-
-gl_POINT_SPRITE :: GLenum
-gl_POINT_SPRITE = 0x8861
-
-gl_POINT_TOKEN :: GLenum
-gl_POINT_TOKEN = 0x0701
-
-gl_POLYGON :: GLenum
-gl_POLYGON = 0x0009
-
-gl_POLYGON_BIT :: GLbitfield
-gl_POLYGON_BIT = 0x00000008
-
-gl_POLYGON_MODE :: GLenum
-gl_POLYGON_MODE = 0x0B40
-
-gl_POLYGON_STIPPLE :: GLenum
-gl_POLYGON_STIPPLE = 0x0B42
-
-gl_POLYGON_STIPPLE_BIT :: GLbitfield
-gl_POLYGON_STIPPLE_BIT = 0x00000010
-
-gl_POLYGON_TOKEN :: GLenum
-gl_POLYGON_TOKEN = 0x0703
-
-gl_POSITION :: GLenum
-gl_POSITION = 0x1203
-
-gl_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB
-
-gl_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7
-
-gl_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA
-
-gl_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6
-
-gl_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
-gl_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2
-
-gl_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9
-
-gl_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5
-
-gl_POST_COLOR_MATRIX_RED_BIAS :: GLenum
-gl_POST_COLOR_MATRIX_RED_BIAS = 0x80B8
-
-gl_POST_COLOR_MATRIX_RED_SCALE :: GLenum
-gl_POST_COLOR_MATRIX_RED_SCALE = 0x80B4
-
-gl_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
-gl_POST_CONVOLUTION_ALPHA_BIAS = 0x8023
-
-gl_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
-gl_POST_CONVOLUTION_ALPHA_SCALE = 0x801F
-
-gl_POST_CONVOLUTION_BLUE_BIAS :: GLenum
-gl_POST_CONVOLUTION_BLUE_BIAS = 0x8022
-
-gl_POST_CONVOLUTION_BLUE_SCALE :: GLenum
-gl_POST_CONVOLUTION_BLUE_SCALE = 0x801E
-
-gl_POST_CONVOLUTION_COLOR_TABLE :: GLenum
-gl_POST_CONVOLUTION_COLOR_TABLE = 0x80D1
-
-gl_POST_CONVOLUTION_GREEN_BIAS :: GLenum
-gl_POST_CONVOLUTION_GREEN_BIAS = 0x8021
-
-gl_POST_CONVOLUTION_GREEN_SCALE :: GLenum
-gl_POST_CONVOLUTION_GREEN_SCALE = 0x801D
-
-gl_POST_CONVOLUTION_RED_BIAS :: GLenum
-gl_POST_CONVOLUTION_RED_BIAS = 0x8020
-
-gl_POST_CONVOLUTION_RED_SCALE :: GLenum
-gl_POST_CONVOLUTION_RED_SCALE = 0x801C
-
-gl_PREVIOUS :: GLenum
-gl_PREVIOUS = 0x8578
-
-gl_PRIMARY_COLOR :: GLenum
-gl_PRIMARY_COLOR = 0x8577
-
-gl_PROJECTION :: GLenum
-gl_PROJECTION = 0x1701
-
-gl_PROJECTION_MATRIX :: GLenum
-gl_PROJECTION_MATRIX = 0x0BA7
-
-gl_PROJECTION_STACK_DEPTH :: GLenum
-gl_PROJECTION_STACK_DEPTH = 0x0BA4
-
-gl_PROXY_COLOR_TABLE :: GLenum
-gl_PROXY_COLOR_TABLE = 0x80D3
-
-gl_PROXY_HISTOGRAM :: GLenum
-gl_PROXY_HISTOGRAM = 0x8025
-
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
-gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5
-
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
-gl_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4
-
-gl_Q :: GLenum
-gl_Q = 0x2003
-
-gl_QUADRATIC_ATTENUATION :: GLenum
-gl_QUADRATIC_ATTENUATION = 0x1209
-
-gl_QUADS :: GLenum
-gl_QUADS = 0x0007
-
-gl_QUAD_STRIP :: GLenum
-gl_QUAD_STRIP = 0x0008
-
-gl_R :: GLenum
-gl_R = 0x2002
-
-gl_REDUCE :: GLenum
-gl_REDUCE = 0x8016
-
-gl_RED_BIAS :: GLenum
-gl_RED_BIAS = 0x0D15
-
-gl_RED_BITS :: GLenum
-gl_RED_BITS = 0x0D52
-
-gl_RED_SCALE :: GLenum
-gl_RED_SCALE = 0x0D14
-
-gl_REFLECTION_MAP :: GLenum
-gl_REFLECTION_MAP = 0x8512
-
-gl_RENDER :: GLenum
-gl_RENDER = 0x1C00
-
-gl_RENDER_MODE :: GLenum
-gl_RENDER_MODE = 0x0C40
-
-gl_REPLICATE_BORDER :: GLenum
-gl_REPLICATE_BORDER = 0x8153
-
-gl_RESCALE_NORMAL :: GLenum
-gl_RESCALE_NORMAL = 0x803A
-
-gl_RETURN :: GLenum
-gl_RETURN = 0x0102
-
-gl_RGBA_MODE :: GLenum
-gl_RGBA_MODE = 0x0C31
-
-gl_RGB_SCALE :: GLenum
-gl_RGB_SCALE = 0x8573
-
-gl_S :: GLenum
-gl_S = 0x2000
-
-gl_SCISSOR_BIT :: GLbitfield
-gl_SCISSOR_BIT = 0x00080000
-
-gl_SECONDARY_COLOR_ARRAY :: GLenum
-gl_SECONDARY_COLOR_ARRAY = 0x845E
-
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
-gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C
-
-gl_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
-gl_SECONDARY_COLOR_ARRAY_POINTER = 0x845D
-
-gl_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_SIZE = 0x845A
-
-gl_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C
-
-gl_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
-gl_SECONDARY_COLOR_ARRAY_TYPE = 0x845B
-
-gl_SELECT :: GLenum
-gl_SELECT = 0x1C02
-
-gl_SELECTION_BUFFER_POINTER :: GLenum
-gl_SELECTION_BUFFER_POINTER = 0x0DF3
-
-gl_SELECTION_BUFFER_SIZE :: GLenum
-gl_SELECTION_BUFFER_SIZE = 0x0DF4
-
-gl_SEPARABLE_2D :: GLenum
-gl_SEPARABLE_2D = 0x8012
-
-gl_SEPARATE_SPECULAR_COLOR :: GLenum
-gl_SEPARATE_SPECULAR_COLOR = 0x81FA
-
-gl_SHADE_MODEL :: GLenum
-gl_SHADE_MODEL = 0x0B54
-
-gl_SHININESS :: GLenum
-gl_SHININESS = 0x1601
-
-gl_SINGLE_COLOR :: GLenum
-gl_SINGLE_COLOR = 0x81F9
-
-gl_SLUMINANCE :: GLenum
-gl_SLUMINANCE = 0x8C46
-
-gl_SLUMINANCE8 :: GLenum
-gl_SLUMINANCE8 = 0x8C47
-
-gl_SLUMINANCE8_ALPHA8 :: GLenum
-gl_SLUMINANCE8_ALPHA8 = 0x8C45
-
-gl_SLUMINANCE_ALPHA :: GLenum
-gl_SLUMINANCE_ALPHA = 0x8C44
-
-gl_SMOOTH :: GLenum
-gl_SMOOTH = 0x1D01
-
-gl_SOURCE0_ALPHA :: GLenum
-gl_SOURCE0_ALPHA = 0x8588
-
-gl_SOURCE0_RGB :: GLenum
-gl_SOURCE0_RGB = 0x8580
-
-gl_SOURCE1_ALPHA :: GLenum
-gl_SOURCE1_ALPHA = 0x8589
-
-gl_SOURCE1_RGB :: GLenum
-gl_SOURCE1_RGB = 0x8581
-
-gl_SOURCE2_ALPHA :: GLenum
-gl_SOURCE2_ALPHA = 0x858A
-
-gl_SOURCE2_RGB :: GLenum
-gl_SOURCE2_RGB = 0x8582
-
-gl_SPECULAR :: GLenum
-gl_SPECULAR = 0x1202
-
-gl_SPHERE_MAP :: GLenum
-gl_SPHERE_MAP = 0x2402
-
-gl_SPOT_CUTOFF :: GLenum
-gl_SPOT_CUTOFF = 0x1206
-
-gl_SPOT_DIRECTION :: GLenum
-gl_SPOT_DIRECTION = 0x1204
-
-gl_SPOT_EXPONENT :: GLenum
-gl_SPOT_EXPONENT = 0x1205
-
-gl_SRC0_ALPHA :: GLenum
-gl_SRC0_ALPHA = 0x8588
-
-gl_SRC0_RGB :: GLenum
-gl_SRC0_RGB = 0x8580
-
-gl_SRC1_ALPHA :: GLenum
-gl_SRC1_ALPHA = 0x8589
-
-gl_SRC1_RGB :: GLenum
-gl_SRC1_RGB = 0x8581
-
-gl_SRC2_ALPHA :: GLenum
-gl_SRC2_ALPHA = 0x858A
-
-gl_SRC2_RGB :: GLenum
-gl_SRC2_RGB = 0x8582
-
-gl_STACK_OVERFLOW :: GLenum
-gl_STACK_OVERFLOW = 0x0503
-
-gl_STACK_UNDERFLOW :: GLenum
-gl_STACK_UNDERFLOW = 0x0504
-
-gl_STENCIL_BITS :: GLenum
-gl_STENCIL_BITS = 0x0D57
-
-gl_SUBTRACT :: GLenum
-gl_SUBTRACT = 0x84E7
-
-gl_T :: GLenum
-gl_T = 0x2001
-
-gl_T2F_C3F_V3F :: GLenum
-gl_T2F_C3F_V3F = 0x2A2A
-
-gl_T2F_C4F_N3F_V3F :: GLenum
-gl_T2F_C4F_N3F_V3F = 0x2A2C
-
-gl_T2F_C4UB_V3F :: GLenum
-gl_T2F_C4UB_V3F = 0x2A29
-
-gl_T2F_N3F_V3F :: GLenum
-gl_T2F_N3F_V3F = 0x2A2B
-
-gl_T2F_V3F :: GLenum
-gl_T2F_V3F = 0x2A27
-
-gl_T4F_C4F_N3F_V4F :: GLenum
-gl_T4F_C4F_N3F_V4F = 0x2A2D
-
-gl_T4F_V4F :: GLenum
-gl_T4F_V4F = 0x2A28
-
-gl_TABLE_TOO_LARGE :: GLenum
-gl_TABLE_TOO_LARGE = 0x8031
-
-gl_TEXTURE_BIT :: GLbitfield
-gl_TEXTURE_BIT = 0x00040000
-
-gl_TEXTURE_COMPONENTS :: GLenum
-gl_TEXTURE_COMPONENTS = 0x1003
-
-gl_TEXTURE_COORD_ARRAY :: GLenum
-gl_TEXTURE_COORD_ARRAY = 0x8078
-
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
-gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A
-
-gl_TEXTURE_COORD_ARRAY_COUNT :: GLenum
-gl_TEXTURE_COORD_ARRAY_COUNT = 0x808B
-
-gl_TEXTURE_COORD_ARRAY_POINTER :: GLenum
-gl_TEXTURE_COORD_ARRAY_POINTER = 0x8092
-
-gl_TEXTURE_COORD_ARRAY_SIZE :: GLenum
-gl_TEXTURE_COORD_ARRAY_SIZE = 0x8088
-
-gl_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
-gl_TEXTURE_COORD_ARRAY_STRIDE = 0x808A
-
-gl_TEXTURE_COORD_ARRAY_TYPE :: GLenum
-gl_TEXTURE_COORD_ARRAY_TYPE = 0x8089
-
-gl_TEXTURE_ENV :: GLenum
-gl_TEXTURE_ENV = 0x2300
-
-gl_TEXTURE_ENV_COLOR :: GLenum
-gl_TEXTURE_ENV_COLOR = 0x2201
-
-gl_TEXTURE_ENV_MODE :: GLenum
-gl_TEXTURE_ENV_MODE = 0x2200
-
-gl_TEXTURE_FILTER_CONTROL :: GLenum
-gl_TEXTURE_FILTER_CONTROL = 0x8500
-
-gl_TEXTURE_GEN_MODE :: GLenum
-gl_TEXTURE_GEN_MODE = 0x2500
-
-gl_TEXTURE_GEN_Q :: GLenum
-gl_TEXTURE_GEN_Q = 0x0C63
-
-gl_TEXTURE_GEN_R :: GLenum
-gl_TEXTURE_GEN_R = 0x0C62
-
-gl_TEXTURE_GEN_S :: GLenum
-gl_TEXTURE_GEN_S = 0x0C60
-
-gl_TEXTURE_GEN_T :: GLenum
-gl_TEXTURE_GEN_T = 0x0C61
-
-gl_TEXTURE_INTENSITY_SIZE :: GLenum
-gl_TEXTURE_INTENSITY_SIZE = 0x8061
-
-gl_TEXTURE_INTENSITY_TYPE :: GLenum
-gl_TEXTURE_INTENSITY_TYPE = 0x8C15
-
-gl_TEXTURE_LUMINANCE_SIZE :: GLenum
-gl_TEXTURE_LUMINANCE_SIZE = 0x8060
-
-gl_TEXTURE_LUMINANCE_TYPE :: GLenum
-gl_TEXTURE_LUMINANCE_TYPE = 0x8C14
-
-gl_TEXTURE_MATRIX :: GLenum
-gl_TEXTURE_MATRIX = 0x0BA8
-
-gl_TEXTURE_PRIORITY :: GLenum
-gl_TEXTURE_PRIORITY = 0x8066
-
-gl_TEXTURE_RESIDENT :: GLenum
-gl_TEXTURE_RESIDENT = 0x8067
-
-gl_TEXTURE_STACK_DEPTH :: GLenum
-gl_TEXTURE_STACK_DEPTH = 0x0BA5
-
-gl_TRANSFORM_BIT :: GLbitfield
-gl_TRANSFORM_BIT = 0x00001000
-
-gl_TRANSPOSE_COLOR_MATRIX :: GLenum
-gl_TRANSPOSE_COLOR_MATRIX = 0x84E6
-
-gl_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
-gl_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3
-
-gl_TRANSPOSE_PROJECTION_MATRIX :: GLenum
-gl_TRANSPOSE_PROJECTION_MATRIX = 0x84E4
-
-gl_TRANSPOSE_TEXTURE_MATRIX :: GLenum
-gl_TRANSPOSE_TEXTURE_MATRIX = 0x84E5
-
-gl_V2F :: GLenum
-gl_V2F = 0x2A20
-
-gl_V3F :: GLenum
-gl_V3F = 0x2A21
-
-gl_VERTEX_ARRAY :: GLenum
-gl_VERTEX_ARRAY = 0x8074
-
-gl_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
-gl_VERTEX_ARRAY_BUFFER_BINDING = 0x8896
-
-gl_VERTEX_ARRAY_COUNT :: GLenum
-gl_VERTEX_ARRAY_COUNT = 0x807D
-
-gl_VERTEX_ARRAY_POINTER :: GLenum
-gl_VERTEX_ARRAY_POINTER = 0x808E
-
-gl_VERTEX_ARRAY_SIZE :: GLenum
-gl_VERTEX_ARRAY_SIZE = 0x807A
-
-gl_VERTEX_ARRAY_STRIDE :: GLenum
-gl_VERTEX_ARRAY_STRIDE = 0x807C
-
-gl_VERTEX_ARRAY_TYPE :: GLenum
-gl_VERTEX_ARRAY_TYPE = 0x807B
-
-gl_VERTEX_PROGRAM_TWO_SIDE :: GLenum
-gl_VERTEX_PROGRAM_TWO_SIDE = 0x8643
-
-gl_VIEWPORT_BIT :: GLbitfield
-gl_VIEWPORT_BIT = 0x00000800
-
-gl_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
-gl_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E
-
-gl_ZOOM_X :: GLenum
-gl_ZOOM_X = 0x0D16
-
-gl_ZOOM_Y :: GLenum
-gl_ZOOM_Y = 0x0D17
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
@@ -16,7 +15,8 @@
 
 module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader (
    -- * Functions
-   glDispatchCompute, glDispatchComputeIndirect,
+   glDispatchCompute,
+   glDispatchComputeIndirect,
 
    -- * Tokens
    gl_COMPUTE_SHADER,
@@ -28,10 +28,10 @@
    gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
    gl_MAX_COMPUTE_ATOMIC_COUNTERS,
    gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
-   gl_MAX_COMPUTE_LOCAL_INVOCATIONS,
+   gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
    gl_MAX_COMPUTE_WORK_GROUP_COUNT,
    gl_MAX_COMPUTE_WORK_GROUP_SIZE,
-   gl_COMPUTE_LOCAL_WORK_SIZE,
+   gl_COMPUTE_WORK_GROUP_SIZE,
    gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
    gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
    gl_DISPATCH_INDIRECT_BUFFER,
@@ -39,68 +39,5 @@
    gl_COMPUTE_SHADER_BIT
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_compute_shader"
-
-EXTENSION_ENTRY(dyn_glDispatchCompute,ptr_glDispatchCompute,"glDispatchCompute",glDispatchCompute,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDispatchComputeIndirect,ptr_glDispatchComputeIndirect,"glDispatchComputeIndirect",glDispatchComputeIndirect,GLintptr -> IO ())
-
-gl_COMPUTE_SHADER :: GLenum
-gl_COMPUTE_SHADER = 0x91B9
-
-gl_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
-gl_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB
-
-gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC
-
-gl_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
-gl_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD
-
-gl_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
-gl_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262
-
-gl_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263
-
-gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264
-
-gl_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
-gl_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265
-
-gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266
-
-gl_MAX_COMPUTE_LOCAL_INVOCATIONS :: GLenum
-gl_MAX_COMPUTE_LOCAL_INVOCATIONS = 0x90EB
-
-gl_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
-gl_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE
-
-gl_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
-gl_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF
-
-gl_COMPUTE_LOCAL_WORK_SIZE :: GLenum
-gl_COMPUTE_LOCAL_WORK_SIZE = 0x8267
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED
-
-gl_DISPATCH_INDIRECT_BUFFER :: GLenum
-gl_DISPATCH_INDIRECT_BUFFER = 0x90EE
-
-gl_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
-gl_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF
-
-gl_COMPUTE_SHADER_BIT :: GLbitfield
-gl_COMPUTE_SHADER_BIT = 0x00000020
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
@@ -16,32 +15,13 @@
 
 module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer (
    -- * Functions
-    glCopyBufferSubData,
+   glCopyBufferSubData,
    -- * Tokens
-   gl_COPY_READ_BUFFER_BINDING, gl_COPY_READ_BUFFER,
-   gl_COPY_WRITE_BUFFER_BINDING, gl_COPY_WRITE_BUFFER
-
+   gl_COPY_READ_BUFFER_BINDING,
+   gl_COPY_READ_BUFFER,
+   gl_COPY_WRITE_BUFFER_BINDING,
+   gl_COPY_WRITE_BUFFER
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_copy_buffer"
-
-EXTENSION_ENTRY(dyn_glCopyBufferSubData,ptr_glCopyBufferSubData,"glCopyBufferSubData",glCopyBufferSubData,GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-
-gl_COPY_READ_BUFFER_BINDING :: GLenum
-gl_COPY_READ_BUFFER_BINDING = 0x8F36
-
-gl_COPY_READ_BUFFER :: GLenum
-gl_COPY_READ_BUFFER = gl_COPY_READ_BUFFER
-
-gl_COPY_WRITE_BUFFER_BINDING :: GLenum
-gl_COPY_WRITE_BUFFER_BINDING = 0x8F37
-
-gl_COPY_WRITE_BUFFER :: GLenum
-gl_COPY_WRITE_BUFFER = gl_COPY_WRITE_BUFFER_BINDING
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/CreateContextProfile.hs
@@ -20,13 +20,4 @@
    gl_CONTEXT_PROFILE_MASK
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
-gl_CONTEXT_CORE_PROFILE_BIT = 0x00000001
-
-gl_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
-gl_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002
-
-gl_CONTEXT_PROFILE_MASK :: GLenum
-gl_CONTEXT_PROFILE_MASK = 0x9126
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs
@@ -18,7 +18,5 @@
    gl_DEPTH_CLAMP
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_DEPTH_CLAMP :: GLenum
-gl_DEPTH_CLAMP = 0x864F
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
@@ -22,17 +21,4 @@
    glBlendFuncSeparatei
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_buffers_blend"
-
-EXTENSION_ENTRY(dyn_glBlendEquationi,ptr_glBlendEquationi,"glBlendEquationi",glBlendEquationi,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBlendEquationSeparatei,ptr_glBlendEquationSeparatei,"glBlendEquationSeparatei",glBlendEquationSeparatei,GLuint -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBlendFunci,ptr_glBlendFunci,"glBlendFunci",glBlendFunci,GLuint -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBlendFuncSeparatei,ptr_glBlendFuncSeparatei,"glBlendFuncSeparatei",glBlendFuncSeparatei,GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
@@ -22,17 +21,4 @@
    glMultiDrawElementsBaseVertex
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_elements_base_vertex"
-
-EXTENSION_ENTRY(dyn_glDrawElementsBaseVertex,ptr_glDrawElementsBaseVertex,"glDrawElementsBaseVertex",glDrawElementsBaseVertex,GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glDrawRangeElementsBaseVertex,ptr_glDrawRangeElementsBaseVertex,"glDrawRangeElementsBaseVertex",glDrawRangeElementsBaseVertex,GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glDrawElementsInstancedBaseVertex,ptr_glDrawElementsInstancedBaseVertex,"glDrawElementsInstancedBaseVertex",glDrawElementsInstancedBaseVertex,GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiDrawElementsBaseVertex,ptr_glMultiDrawElementsBaseVertex,"glMultiDrawElementsBaseVertex",glMultiDrawElementsBaseVertex,GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
@@ -16,28 +15,14 @@
 
 module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect (
    -- * Functions
-   glDrawArraysIndirect, glDrawElementsIndirect,
+   glDrawArraysIndirect,
+   glDrawElementsIndirect,
 
    -- * Tokens
-   gl_DRAW_INDIRECT_BUFFER, gl_DRAW_INDIRECT_BUFFER_BINDING
+   gl_DRAW_INDIRECT_BUFFER,
+   gl_DRAW_INDIRECT_BUFFER_BINDING
 
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_indirect"
-
-EXTENSION_ENTRY(dyn_glDrawArraysIndirect,ptr_glDrawArraysIndirect,"glDrawArraysIndirect",glDrawArraysIndirect,GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glDrawElementsIndirect,ptr_glDrawElementsIndirect,"glDrawElementsIndirect",glDrawElementsIndirect,GLenum -> GLenum -> Ptr a -> IO ())
-
-gl_DRAW_INDIRECT_BUFFER :: GLenum
-gl_DRAW_INDIRECT_BUFFER = 0x8F3F
-
-gl_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
-gl_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
@@ -20,15 +19,4 @@
    glDrawElementsInstanced
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_draw_instanced"
-
-EXTENSION_ENTRY(dyn_glDrawArraysInstanced,ptr_glDrawArraysInstanced,"glDrawArraysInstanced",glDrawArraysInstanced,GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glDrawElementsInstanced,ptr_glDrawElementsInstanced,"glDrawElementsInstanced",glDrawElementsInstanced,GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
@@ -41,66 +40,5 @@
    gl_RGB565
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_ES2_compatibility"
-
-EXTENSION_ENTRY(dyn_glReleaseShaderCompiler,ptr_glReleaseShaderCompiler,"glReleaseShaderCompiler",glReleaseShaderCompiler,IO ())
-EXTENSION_ENTRY(dyn_glShaderBinary,ptr_glShaderBinary,"glShaderBinary",glShaderBinary,GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glGetShaderPrecisionFormat,ptr_glGetShaderPrecisionFormat,"glGetShaderPrecisionFormat",glGetShaderPrecisionFormat,GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glDepthRangef,ptr_glDepthRangef,"glDepthRangef",glDepthRangef,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glClearDepthf,ptr_glClearDepthf,"glClearDepthf",glClearDepthf,GLfloat -> IO ())
-
-gl_FIXED :: GLenum
-gl_FIXED = 0x140C
-
-gl_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A
-
-gl_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
-gl_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B
-
-gl_LOW_FLOAT :: GLenum
-gl_LOW_FLOAT = 0x8DF0
-
-gl_MEDIUM_FLOAT :: GLenum
-gl_MEDIUM_FLOAT = 0x8DF1
-
-gl_HIGH_FLOAT :: GLenum
-gl_HIGH_FLOAT = 0x8DF2
-
-gl_LOW_INT :: GLenum
-gl_LOW_INT = 0x8DF3
-
-gl_MEDIUM_INT :: GLenum
-gl_MEDIUM_INT = 0x8DF4
-
-gl_HIGH_INT :: GLenum
-gl_HIGH_INT = 0x8DF5
-
-gl_SHADER_COMPILER :: GLenum
-gl_SHADER_COMPILER = 0x8DFA
-
-gl_SHADER_BINARY_FORMATS :: GLenum
-gl_SHADER_BINARY_FORMATS = 0x8DF8
-
-gl_NUM_SHADER_BINARY_FORMATS :: GLenum
-gl_NUM_SHADER_BINARY_FORMATS = 0x8DF9
-
-gl_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
-gl_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB
-
-gl_MAX_VARYING_VECTORS :: GLenum
-gl_MAX_VARYING_VECTORS = 0x8DFC
-
-gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD
-
-gl_RGB565 :: GLenum
-gl_RGB565 = 0x8D62
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
@@ -30,43 +30,4 @@
    gl_MAX_ELEMENT_INDEX
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_COMPRESSED_RGB8_ETC2 :: GLenum
-gl_COMPRESSED_RGB8_ETC2 = 0x9274
-
-gl_COMPRESSED_SRGB8_ETC2 :: GLenum
-gl_COMPRESSED_SRGB8_ETC2 = 0x9275
-
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
-gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276
-
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
-gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277
-
-gl_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
-gl_COMPRESSED_RGBA8_ETC2_EAC = 0x9278
-
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279
-
-gl_COMPRESSED_R11_EAC :: GLenum
-gl_COMPRESSED_R11_EAC = 0x9270
-
-gl_COMPRESSED_SIGNED_R11_EAC :: GLenum
-gl_COMPRESSED_SIGNED_R11_EAC = 0x9271
-
-gl_COMPRESSED_RG11_EAC :: GLenum
-gl_COMPRESSED_RG11_EAC = 0x9272
-
-gl_COMPRESSED_SIGNED_RG11_EAC :: GLenum
-gl_COMPRESSED_SIGNED_RG11_EAC = 0x9273
-
-gl_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
-gl_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69
-
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
-gl_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A
-
-gl_MAX_ELEMENT_INDEX :: GLenum
-gl_MAX_ELEMENT_INDEX = 0x8D6B
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs
@@ -115,45 +115,101 @@
    gl_MATRIX31
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_FRAGMENT_PROGRAM :: GLenum
-gl_FRAGMENT_PROGRAM = 0x8804
-
-gl_PROGRAM_ALU_INSTRUCTIONS :: GLenum
-gl_PROGRAM_ALU_INSTRUCTIONS = 0x8805
-
-gl_PROGRAM_TEX_INSTRUCTIONS :: GLenum
-gl_PROGRAM_TEX_INSTRUCTIONS = 0x8806
-
-gl_PROGRAM_TEX_INDIRECTIONS :: GLenum
-gl_PROGRAM_TEX_INDIRECTIONS = 0x8807
-
-gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
-gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x8808
-
-gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
-gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x8809
-
-gl_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
-gl_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x880A
-
-gl_MAX_PROGRAM_ALU_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_ALU_INSTRUCTIONS = 0x880B
-
-gl_MAX_PROGRAM_TEX_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_TEX_INSTRUCTIONS = 0x880C
-
-gl_MAX_PROGRAM_TEX_INDIRECTIONS :: GLenum
-gl_MAX_PROGRAM_TEX_INDIRECTIONS = 0x880D
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x880E
+glProgramString = glProgramStringARB
+glBindProgram = glBindProgramARB
+glDeletePrograms = glDeleteProgramsARB
+glGenPrograms = glGenProgramsARB
+glProgramEnvParameter4d = glProgramEnvParameter4dARB
+glProgramEnvParameter4dv = glProgramEnvParameter4dvARB
+glProgramEnvParameter4f = glProgramEnvParameter4fARB
+glProgramEnvParameter4fv = glProgramEnvParameter4fvARB
+glProgramLocalParameter4d = glProgramLocalParameter4dARB
+glProgramLocalParameter4dv = glProgramLocalParameter4dvARB
+glProgramLocalParameter4f = glProgramLocalParameter4fARB
+glProgramLocalParameter4fv = glProgramLocalParameter4fvARB
+glGetProgramEnvParameterdv = glGetProgramEnvParameterdvARB
+glGetProgramEnvParameterfv = glGetProgramEnvParameterfvARB
+glGetProgramLocalParameterdv = glGetProgramLocalParameterdvARB
+glGetProgramLocalParameterfv = glGetProgramLocalParameterfvARB
+glGetProgramString = glGetProgramStringARB
 
-gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x880F
+gl_FRAGMENT_PROGRAM = gl_FRAGMENT_PROGRAM_ARB
+gl_PROGRAM_FORMAT_ASCII = gl_PROGRAM_FORMAT_ASCII_ARB
+gl_PROGRAM_LENGTH = gl_PROGRAM_LENGTH_ARB
+gl_PROGRAM_FORMAT = gl_PROGRAM_FORMAT_ARB
+gl_PROGRAM_BINDING = gl_PROGRAM_BINDING_ARB
+gl_PROGRAM_INSTRUCTIONS = gl_PROGRAM_INSTRUCTIONS_ARB
+gl_MAX_PROGRAM_INSTRUCTIONS = gl_MAX_PROGRAM_INSTRUCTIONS_ARB
+gl_PROGRAM_NATIVE_INSTRUCTIONS = gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB
+gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS = gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB
+gl_PROGRAM_TEMPORARIES = gl_PROGRAM_TEMPORARIES_ARB
+gl_MAX_PROGRAM_TEMPORARIES = gl_MAX_PROGRAM_TEMPORARIES_ARB
+gl_PROGRAM_NATIVE_TEMPORARIES = gl_PROGRAM_NATIVE_TEMPORARIES_ARB
+gl_MAX_PROGRAM_NATIVE_TEMPORARIES = gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB
+gl_PROGRAM_PARAMETERS = gl_PROGRAM_PARAMETERS_ARB
+gl_MAX_PROGRAM_PARAMETERS = gl_MAX_PROGRAM_PARAMETERS_ARB
+gl_PROGRAM_NATIVE_PARAMETERS = gl_PROGRAM_NATIVE_PARAMETERS_ARB
+gl_MAX_PROGRAM_NATIVE_PARAMETERS = gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB
+gl_PROGRAM_ATTRIBS = gl_PROGRAM_ATTRIBS_ARB
+gl_MAX_PROGRAM_ATTRIBS = gl_MAX_PROGRAM_ATTRIBS_ARB
+gl_PROGRAM_NATIVE_ATTRIBS = gl_PROGRAM_NATIVE_ATTRIBS_ARB
+gl_MAX_PROGRAM_NATIVE_ATTRIBS = gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB
+gl_MAX_PROGRAM_LOCAL_PARAMETERS = gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB
+gl_MAX_PROGRAM_ENV_PARAMETERS = gl_MAX_PROGRAM_ENV_PARAMETERS_ARB
+gl_PROGRAM_UNDER_NATIVE_LIMITS = gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB
+gl_PROGRAM_ALU_INSTRUCTIONS = gl_PROGRAM_ALU_INSTRUCTIONS_ARB
+gl_PROGRAM_TEX_INSTRUCTIONS = gl_PROGRAM_TEX_INSTRUCTIONS_ARB
+gl_PROGRAM_TEX_INDIRECTIONS = gl_PROGRAM_TEX_INDIRECTIONS_ARB
+gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS = gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
+gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS = gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
+gl_PROGRAM_NATIVE_TEX_INDIRECTIONS = gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
+gl_MAX_PROGRAM_ALU_INSTRUCTIONS = gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB
+gl_MAX_PROGRAM_TEX_INSTRUCTIONS = gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB
+gl_MAX_PROGRAM_TEX_INDIRECTIONS = gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARB
+gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS = gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
+gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS = gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
+gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS = gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
+gl_PROGRAM_STRING = gl_PROGRAM_STRING_ARB
+gl_PROGRAM_ERROR_POSITION = gl_PROGRAM_ERROR_POSITION_ARB
+gl_CURRENT_MATRIX = gl_CURRENT_MATRIX_ARB
+gl_TRANSPOSE_CURRENT_MATRIX = gl_TRANSPOSE_CURRENT_MATRIX_ARB
+gl_CURRENT_MATRIX_STACK_DEPTH = gl_CURRENT_MATRIX_STACK_DEPTH_ARB
+gl_MAX_PROGRAM_MATRICES = gl_MAX_PROGRAM_MATRICES_ARB
+gl_MAX_PROGRAM_MATRIX_STACK_DEPTH = gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB
+gl_PROGRAM_ERROR_STRING = gl_PROGRAM_ERROR_STRING_ARB
 
-gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x8810
+gl_MATRIX0 = gl_MATRIX0_ARB
+gl_MATRIX1 = gl_MATRIX1_ARB
+gl_MATRIX2 = gl_MATRIX2_ARB
+gl_MATRIX3 = gl_MATRIX3_ARB
+gl_MATRIX4 = gl_MATRIX4_ARB
+gl_MATRIX5 = gl_MATRIX5_ARB
+gl_MATRIX6 = gl_MATRIX6_ARB
+gl_MATRIX7 = gl_MATRIX7_ARB
+gl_MATRIX8 = gl_MATRIX8_ARB
+gl_MATRIX9 = gl_MATRIX9_ARB
+gl_MATRIX10 = gl_MATRIX10_ARB
+gl_MATRIX11 = gl_MATRIX11_ARB
+gl_MATRIX12 = gl_MATRIX12_ARB
+gl_MATRIX13 = gl_MATRIX13_ARB
+gl_MATRIX14 = gl_MATRIX14_ARB
+gl_MATRIX15 = gl_MATRIX15_ARB
+gl_MATRIX16 = gl_MATRIX16_ARB
+gl_MATRIX17 = gl_MATRIX17_ARB
+gl_MATRIX18 = gl_MATRIX18_ARB
+gl_MATRIX19 = gl_MATRIX19_ARB
+gl_MATRIX20 = gl_MATRIX20_ARB
+gl_MATRIX21 = gl_MATRIX21_ARB
+gl_MATRIX22 = gl_MATRIX22_ARB
+gl_MATRIX23 = gl_MATRIX23_ARB
+gl_MATRIX24 = gl_MATRIX24_ARB
+gl_MATRIX25 = gl_MATRIX25_ARB
+gl_MATRIX26 = gl_MATRIX26_ARB
+gl_MATRIX27 = gl_MATRIX27_ARB
+gl_MATRIX28 = gl_MATRIX28_ARB
+gl_MATRIX29 = gl_MATRIX29_ARB
+gl_MATRIX30 = gl_MATRIX30_ARB
+gl_MATRIX31 = gl_MATRIX31_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
@@ -32,42 +31,5 @@
    gl_MAX_FRAMEBUFFER_SAMPLES
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_framebuffer_no_attachments"
-
-EXTENSION_ENTRY(dyn_glFramebufferParameteri,ptr_glFramebufferParameteri,"glFramebufferParameteri",glFramebufferParameteri,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetFramebufferParameteriv,ptr_glGetFramebufferParameteriv,"glGetFramebufferParameteriv",glGetFramebufferParameteriv,GLenum -> GLenum -> Ptr GLint)
-
-gl_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
-gl_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310
-
-gl_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
-gl_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311
-
-gl_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
-gl_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312
-
-gl_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
-gl_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313
-
-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
-gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314
-
-gl_MAX_FRAMEBUFFER_WIDTH :: GLenum
-gl_MAX_FRAMEBUFFER_WIDTH = 0x9315
-
-gl_MAX_FRAMEBUFFER_HEIGHT :: GLenum
-gl_MAX_FRAMEBUFFER_HEIGHT = 0x9316
-
-gl_MAX_FRAMEBUFFER_LAYERS :: GLenum
-gl_MAX_FRAMEBUFFER_LAYERS = 0x9317
-
-gl_MAX_FRAMEBUFFER_SAMPLES :: GLenum
-gl_MAX_FRAMEBUFFER_SAMPLES = 0x9318
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObject.hs
@@ -113,5 +113,5 @@
 ) where
 
 import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core31.Functions
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs
@@ -14,6 +14,7 @@
 --------------------------------------------------------------------------------
 
 module Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5 (
+   -- * Tokens
    gl_GEOMETRY_SHADER_INVOCATIONS,
    gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
    gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
@@ -22,24 +23,4 @@
    gl_MAX_VERTEX_STREAMS
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
---------------------------------------------------------------------------------
-
-gl_GEOMETRY_SHADER_INVOCATIONS :: GLenum
-gl_GEOMETRY_SHADER_INVOCATIONS = 0x887F
-
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
-gl_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A
-
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
-gl_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B
-
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
-gl_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C
-
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
-gl_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D
-
-gl_MAX_VERTEX_STREAMS :: GLenum
-gl_MAX_VERTEX_STREAMS = 0x8E71
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
@@ -50,69 +49,5 @@
    gl_DOUBLE_MAT4x3
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_gpu_shader_fp64"
-
-EXTENSION_ENTRY(dyn_glUniform1d,ptr_glUniform1d,"glUniform1d",glUniform1d,GLint -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2d,ptr_glUniform2d,"glUniform2d",glUniform2d,GLint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3d,ptr_glUniform3d,"glUniform3d",glUniform3d,GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4d,ptr_glUniform4d,"glUniform4d",glUniform4d,GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniform1dv,ptr_glUniform1dv,"glUniform1dv",glUniform1dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2dv,ptr_glUniform2dv,"glUniform2dv",glUniform2dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3dv,ptr_glUniform3dv,"glUniform3dv",glUniform3dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4dv,ptr_glUniform4dv,"glUniform4dv",glUniform4dv,GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix2dv,ptr_glUniformMatrix2dv,"glUniformMatrix2dv",glUniformMatrix2dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix3dv,ptr_glUniformMatrix3dv,"glUniformMatrix3dv",glUniformMatrix3dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix4dv,ptr_glUniformMatrix4dv,"glUniformMatrix4dv",glUniformMatrix4dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix2x3dv,ptr_glUniformMatrix2x3dv,"glUniformMatrix2x3dv",glUniformMatrix2x3dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix2x4dv,ptr_glUniformMatrix2x4dv,"glUniformMatrix2x4dv",glUniformMatrix2x4dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix3x2dv,ptr_glUniformMatrix3x2dv,"glUniformMatrix3x2dv",glUniformMatrix3x2dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix3x4dv,ptr_glUniformMatrix3x4dv,"glUniformMatrix3x4dv",glUniformMatrix3x4dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix4x2dv,ptr_glUniformMatrix4x2dv,"glUniformMatrix4x2dv",glUniformMatrix4x2dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix4x3dv,ptr_glUniformMatrix4x3dv,"glUniformMatrix4x3dv",glUniformMatrix4x3dv,GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetUniformdv,ptr_glGetUniformdv,"glGetUniformdv",glGetUniformdv,GLuint -> GLint -> Ptr GLdouble -> IO ())
-
-gl_DOUBLE_VEC2 :: GLenum
-gl_DOUBLE_VEC2 = 0x8FFC
-
-gl_DOUBLE_VEC3 :: GLenum
-gl_DOUBLE_VEC3 = 0x8FFD
-
-gl_DOUBLE_VEC4 :: GLenum
-gl_DOUBLE_VEC4 = 0x8FFE
-
-gl_DOUBLE_MAT2 :: GLenum
-gl_DOUBLE_MAT2 = 0x8F46
-
-gl_DOUBLE_MAT3 :: GLenum
-gl_DOUBLE_MAT3 = 0x8F47
-
-gl_DOUBLE_MAT4 :: GLenum
-gl_DOUBLE_MAT4 = 0x8F48
-
-gl_DOUBLE_MAT2x3 :: GLenum
-gl_DOUBLE_MAT2x3 = 0x8F49
-
-gl_DOUBLE_MAT2x4 :: GLenum
-gl_DOUBLE_MAT2x4 = 0x8F4A
-
-gl_DOUBLE_MAT3x2 :: GLenum
-gl_DOUBLE_MAT3x2 = 0x8F4B
-
-gl_DOUBLE_MAT3x4 :: GLenum
-gl_DOUBLE_MAT3x4 = 0x8F4C
-
-gl_DOUBLE_MAT4x2 :: GLenum
-gl_DOUBLE_MAT4x2 = 0x8F4D
-
-gl_DOUBLE_MAT4x3 :: GLenum
-gl_DOUBLE_MAT4x3 = 0x8F4E
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
@@ -44,73 +43,11 @@
    gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Functions
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_geometry_shader4"
-
-EXTENSION_ENTRY(dyn_glProgramParameteri,ptr_glProgramParameteri,"glProgramParameteri",glProgramParameteri,GLuint -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferTexture,ptr_glFramebufferTexture,"glFramebufferTexture",glFramebufferTexture,GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferTextureFace,ptr_glFramebufferTextureFace,"glFramebufferTextureFace",glFramebufferTextureFace,GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-
-gl_LINES_ADJACENCY :: GLenum
-gl_LINES_ADJACENCY = 0x000A
-
-gl_LINE_STRIP_ADJACENCY :: GLenum
-gl_LINE_STRIP_ADJACENCY = 0x000B
-
-gl_TRIANGLES_ADJACENCY :: GLenum
-gl_TRIANGLES_ADJACENCY = 0x000C
-
-gl_TRIANGLE_STRIP_ADJACENCY :: GLenum
-gl_TRIANGLE_STRIP_ADJACENCY = 0x000D
-
-gl_PROGRAM_POINT_SIZE :: GLenum
-gl_PROGRAM_POINT_SIZE = 0x8642
-
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29
-
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7
-
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8
-
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = 0x8DA9
-
-gl_GEOMETRY_SHADER :: GLenum
-gl_GEOMETRY_SHADER = 0x8DD9
-
-gl_GEOMETRY_VERTICES_OUT :: GLenum
-gl_GEOMETRY_VERTICES_OUT = 0x8DDA
-
-gl_GEOMETRY_INPUT_TYPE :: GLenum
-gl_GEOMETRY_INPUT_TYPE = 0x8DDB
-
-gl_GEOMETRY_OUTPUT_TYPE :: GLenum
-gl_GEOMETRY_OUTPUT_TYPE = 0x8DDC
-
-gl_MAX_GEOMETRY_VARYING_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_VARYING_COMPONENTS = 0x8DDD
-
-gl_MAX_VERTEX_VARYING_COMPONENTS :: GLenum
-gl_MAX_VERTEX_VARYING_COMPONENTS = 0x8DDE
-
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
-gl_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0
+glFramebufferTextureFace = glFramebufferTextureFaceARB
 
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB
+gl_MAX_GEOMETRY_VARYING_COMPONENTS = gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB
+gl_MAX_VERTEX_VARYING_COMPONENTS = gl_MAX_VERTEX_VARYING_COMPONENTS_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
@@ -16,7 +15,9 @@
 
 module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary (
    -- * Functions
-   glGetProgramBinary, glProgramBinary, glProgramParameteri,
+   glGetProgramBinary,
+   glProgramBinary,
+   glProgramParameteri,
 
    -- * Tokens
    gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
@@ -26,28 +27,5 @@
 
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_get_program_binary"
-
-EXTENSION_ENTRY(dyn_glGetProgramBinary,ptr_glGetProgramBinary,"glGetProgramBinary",glGetProgramBinary,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glProgramBinary,ptr_glProgramBinary,"glProgramBinary",glProgramBinary,GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-
-gl_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
-gl_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257
-
-gl_PROGRAM_BINARY_LENGTH :: GLenum
-gl_PROGRAM_BINARY_LENGTH = 0x8741
-
-gl_NUM_PROGRAM_BINARY_FORMATS :: GLenum
-gl_NUM_PROGRAM_BINARY_FORMATS = 0x87FE
-
-gl_PROGRAM_BINARY_FORMATS :: GLenum
-gl_PROGRAM_BINARY_FORMATS = 0x87FF
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
@@ -21,16 +20,5 @@
    gl_VERTEX_ATTRIB_ARRAY_DIVISOR
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_instanced_arrays"
-
-EXTENSION_ENTRY(dyn_glVertexAttribDivisor,ptr_glVertexAttribDivisor,"glVertexAttribDivisor",glVertexAttribDivisor,GLuint -> GLuint -> IO ())
-
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
@@ -34,48 +33,22 @@
    gl_MATRIX_INDEX_ARRAY_POINTER
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_matrix_palette"
-
-EXTENSION_ENTRY(dyn_glCurrentPaletteMatrix,ptr_glCurrentPaletteMatrix,"glCurrentPaletteMatrix",glCurrentPaletteMatrix,GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixIndexubv,ptr_glMatrixIndexubv,"glMatrixIndexubv",glMatrixIndexubv,GLint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixIndexusv,ptr_glMatrixIndexusv,"glMatrixIndexusv",glMatrixIndexusv,GLint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixIndexuiv,ptr_glMatrixIndexuiv,"glMatrixIndexuiv",glMatrixIndexuiv,GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixIndexPointer,ptr_glMatrixIndexPointer,"glMatrixIndexPointer",glMatrixIndexPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-
-gl_MATRIX_PALETTE :: GLenum
-gl_MATRIX_PALETTE = 0x8840
-
-gl_MAX_MATRIX_PALETTE_STACK_DEPTH :: GLenum
-gl_MAX_MATRIX_PALETTE_STACK_DEPTH = 0x8841
-
-gl_MAX_PALETTE_MATRICES :: GLenum
-gl_MAX_PALETTE_MATRICES = 0x8842
-
-gl_CURRENT_PALETTE_MATRIX :: GLenum
-gl_CURRENT_PALETTE_MATRIX = 0x8843
-
-gl_MATRIX_INDEX_ARRAY :: GLenum
-gl_MATRIX_INDEX_ARRAY = 0x8844
-
-gl_CURRENT_MATRIX_INDEX :: GLenum
-gl_CURRENT_MATRIX_INDEX = 0x8845
-
-gl_MATRIX_INDEX_ARRAY_SIZE :: GLenum
-gl_MATRIX_INDEX_ARRAY_SIZE = 0x8846
-
-gl_MATRIX_INDEX_ARRAY_TYPE :: GLenum
-gl_MATRIX_INDEX_ARRAY_TYPE = 0x8847
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_MATRIX_INDEX_ARRAY_STRIDE :: GLenum
-gl_MATRIX_INDEX_ARRAY_STRIDE = 0x8848
+glCurrentPaletteMatrix = glCurrentPaletteMatrixARB
+glMatrixIndexubv = glMatrixIndexubvARB
+glMatrixIndexusv = glMatrixIndexusvARB
+glMatrixIndexuiv = glMatrixIndexuivARB
+glMatrixIndexPointer = glMatrixIndexPointerARB
 
-gl_MATRIX_INDEX_ARRAY_POINTER :: GLenum
-gl_MATRIX_INDEX_ARRAY_POINTER = 0x8849
+gl_MATRIX_PALETTE = gl_MATRIX_PALETTE_ARB
+gl_MAX_MATRIX_PALETTE_STACK_DEPTH = gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB
+gl_MAX_PALETTE_MATRICES = gl_MAX_PALETTE_MATRICES_ARB
+gl_CURRENT_PALETTE_MATRIX = gl_CURRENT_PALETTE_MATRIX_ARB
+gl_MATRIX_INDEX_ARRAY = gl_MATRIX_INDEX_ARRAY_ARB
+gl_CURRENT_MATRIX_INDEX = gl_CURRENT_MATRIX_INDEX_ARB
+gl_MATRIX_INDEX_ARRAY_SIZE = gl_MATRIX_INDEX_ARRAY_SIZE_ARB
+gl_MATRIX_INDEX_ARRAY_TYPE = gl_MATRIX_INDEX_ARRAY_TYPE_ARB
+gl_MATRIX_INDEX_ARRAY_STRIDE = gl_MATRIX_INDEX_ARRAY_STRIDE_ARB
+gl_MATRIX_INDEX_ARRAY_POINTER = gl_MATRIX_INDEX_ARRAY_POINTER_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
@@ -18,7 +18,4 @@
    gl_ANY_SAMPLES_PASSED
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_ANY_SAMPLES_PASSED :: GLenum
-gl_ANY_SAMPLES_PASSED = 0x8C2F
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
@@ -24,25 +23,5 @@
    gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_provoking_vertex"
-
-EXTENSION_ENTRY(dyn_glProvokingVertex,ptr_glProvokingVertex,"glProvokingVertex",glProvokingVertex,GLenum -> IO ())
-
-gl_FIRST_VERTEX_CONVENTION :: GLenum
-gl_FIRST_VERTEX_CONVENTION = 0x8E4D
-
-gl_LAST_VERTEX_CONVENTION :: GLenum
-gl_LAST_VERTEX_CONVENTION = 0x8E4E
-
-gl_PROVOKING_VERTEX :: GLenum
-gl_PROVOKING_VERTEX = 0x8E4F
-
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
-gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
@@ -15,20 +15,10 @@
 
 module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject (
    -- * Tokens
-   gl_QUERY_BUFFER, gl_QUERY_BUFFER_BINDING, gl_QUERY_RESULT_NO_WAIT,
+   gl_QUERY_BUFFER,
+   gl_QUERY_BUFFER_BINDING,
+   gl_QUERY_RESULT_NO_WAIT,
    gl_QUERY_BUFFER_BARRIER_BIT
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_QUERY_BUFFER :: GLenum
-gl_QUERY_BUFFER = 0x9192
-
-gl_QUERY_BUFFER_BINDING :: GLenum
-gl_QUERY_BUFFER_BINDING = 0x9193
-
-gl_QUERY_RESULT_NO_WAIT :: GLenum
-gl_QUERY_RESULT_NO_WAIT = 0x9194
-
-gl_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
-gl_QUERY_BUFFER_BARRIER_BIT = 0x00008000
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
@@ -22,19 +21,5 @@
    gl_MIN_SAMPLE_SHADING_VALUE
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_sample_shading"
-
-EXTENSION_ENTRY(dyn_glMinSampleShading,ptr_glMinSampleShading,"glMinSampleShading",glMinSampleShading,GLclampf -> IO ())
-
-gl_SAMPLE_SHADING :: GLenum
-gl_SAMPLE_SHADING = 0x8C36
-
-gl_MIN_SAMPLE_SHADING_VALUE :: GLenum
-gl_MIN_SAMPLE_SHADING_VALUE = 0x8C37
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
@@ -35,32 +34,5 @@
    gl_SAMPLER_BINDING
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_sampler_objects"
-
-EXTENSION_ENTRY(dyn_glGenSamplers,ptr_glGenSamplers,"glGenSamplers",glGenSamplers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteSamplers,ptr_glDeleteSamplers,"glDeleteSamplers",glDeleteSamplers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glIsSampler,ptr_glIsSampler,"glIsSampler",glIsSampler,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glBindSampler,ptr_glBindSampler,"glBindSampler",glBindSampler,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glSamplerParameteri,ptr_glSamplerParameteri,"glSamplerParameteri",glSamplerParameteri,GLuint -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glSamplerParameteriv,ptr_glSamplerParameteriv,"glSamplerParameteriv",glSamplerParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glSamplerParameterf,ptr_glSamplerParameterf,"glSamplerParameterf",glSamplerParameterf,GLuint -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glSamplerParameterfv,ptr_glSamplerParameterfv,"glSamplerParameterfv",glSamplerParameterfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glSamplerParameterIiv,ptr_glSamplerParameterIiv,"glSamplerParameterIiv",glSamplerParameterIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glSamplerParameterIuiv,ptr_glSamplerParameterIuiv,"glSamplerParameterIuiv",glSamplerParameterIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetSamplerParameteriv,ptr_glGetSamplerParameteriv,"glGetSamplerParameteriv",glGetSamplerParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetSamplerParameterIiv,ptr_glGetSamplerParameterIiv,"glGetSamplerParameterIiv",glGetSamplerParameterIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetSamplerParameterfv,ptr_glGetSamplerParameterfv,"glGetSamplerParameterfv",glGetSamplerParameterfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetSamplerParameterIuiv,ptr_glGetSamplerParameterIuiv,"glGetSamplerParameterIuiv",glGetSamplerParameterIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-
-gl_SAMPLER_BINDING :: GLenum
-gl_SAMPLER_BINDING = 0x8919
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
@@ -18,7 +18,4 @@
    gl_TEXTURE_CUBE_MAP_SEAMLESS
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
-gl_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
@@ -89,100 +88,5 @@
    gl_PROGRAM_PIPELINE_BINDING
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_separate_shader_objects"
-
-EXTENSION_ENTRY(dyn_glUseProgramStages,ptr_glUseProgramStages,"glUseProgramStages",glUseProgramStages,GLuint -> GLbitfield -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glActiveShaderProgram,ptr_glActiveShaderProgram,"glActiveShaderProgram",glActiveShaderProgram,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glCreateShaderProgramv,ptr_glCreateShaderProgramv,"glCreateShaderProgramv",glCreateShaderProgramv,GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-EXTENSION_ENTRY(dyn_glBindProgramPipeline,ptr_glBindProgramPipeline,"glBindProgramPipeline",glBindProgramPipeline,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteProgramPipelines,ptr_glDeleteProgramPipelines,"glDeleteProgramPipelines",glDeleteProgramPipelines,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenProgramPipelines,ptr_glGenProgramPipelines,"glGenProgramPipelines",glGenProgramPipelines,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glIsProgramPipeline,ptr_glIsProgramPipeline,"glIsProgramPipeline",glIsProgramPipeline,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glGetProgramPipelineiv,ptr_glGetProgramPipelineiv,"glGetProgramPipelineiv",glGetProgramPipelineiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1i,ptr_glProgramUniform1i,"glProgramUniform1i",glProgramUniform1i,GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1iv,ptr_glProgramUniform1iv,"glProgramUniform1iv",glProgramUniform1iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1f,ptr_glProgramUniform1f,"glProgramUniform1f",glProgramUniform1f,GLuint -> GLint -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1fv,ptr_glProgramUniform1fv,"glProgramUniform1fv",glProgramUniform1fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1d,ptr_glProgramUniform1d,"glProgramUniform1d",glProgramUniform1d,GLuint -> GLint -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1dv,ptr_glProgramUniform1dv,"glProgramUniform1dv",glProgramUniform1dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1ui,ptr_glProgramUniform1ui,"glProgramUniform1ui",glProgramUniform1ui,GLuint -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform1uiv,ptr_glProgramUniform1uiv,"glProgramUniform1uiv",glProgramUniform1uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2i,ptr_glProgramUniform2i,"glProgramUniform2i",glProgramUniform2i,GLuint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2iv,ptr_glProgramUniform2iv,"glProgramUniform2iv",glProgramUniform2iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2f,ptr_glProgramUniform2f,"glProgramUniform2f",glProgramUniform2f,GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2fv,ptr_glProgramUniform2fv,"glProgramUniform2fv",glProgramUniform2fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2d,ptr_glProgramUniform2d,"glProgramUniform2d",glProgramUniform2d,GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2dv,ptr_glProgramUniform2dv,"glProgramUniform2dv",glProgramUniform2dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2ui,ptr_glProgramUniform2ui,"glProgramUniform2ui",glProgramUniform2ui,GLuint -> GLint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform2uiv,ptr_glProgramUniform2uiv,"glProgramUniform2uiv",glProgramUniform2uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3i,ptr_glProgramUniform3i,"glProgramUniform3i",glProgramUniform3i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3iv,ptr_glProgramUniform3iv,"glProgramUniform3iv",glProgramUniform3iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3f,ptr_glProgramUniform3f,"glProgramUniform3f",glProgramUniform3f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3fv,ptr_glProgramUniform3fv,"glProgramUniform3fv",glProgramUniform3fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3d,ptr_glProgramUniform3d,"glProgramUniform3d",glProgramUniform3d,GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3dv,ptr_glProgramUniform3dv,"glProgramUniform3dv",glProgramUniform3dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3ui,ptr_glProgramUniform3ui,"glProgramUniform3ui",glProgramUniform3ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform3uiv,ptr_glProgramUniform3uiv,"glProgramUniform3uiv",glProgramUniform3uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4i,ptr_glProgramUniform4i,"glProgramUniform4i",glProgramUniform4i,GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4iv,ptr_glProgramUniform4iv,"glProgramUniform4iv",glProgramUniform4iv,GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4f,ptr_glProgramUniform4f,"glProgramUniform4f",glProgramUniform4f,GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4fv,ptr_glProgramUniform4fv,"glProgramUniform4fv",glProgramUniform4fv,GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4d,ptr_glProgramUniform4d,"glProgramUniform4d",glProgramUniform4d,GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4dv,ptr_glProgramUniform4dv,"glProgramUniform4dv",glProgramUniform4dv,GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4ui,ptr_glProgramUniform4ui,"glProgramUniform4ui",glProgramUniform4ui,GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniform4uiv,ptr_glProgramUniform4uiv,"glProgramUniform4uiv",glProgramUniform4uiv,GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix2fv,ptr_glProgramUniformMatrix2fv,"glProgramUniformMatrix2fv",glProgramUniformMatrix2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix3fv,ptr_glProgramUniformMatrix3fv,"glProgramUniformMatrix3fv",glProgramUniformMatrix3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix4fv,ptr_glProgramUniformMatrix4fv,"glProgramUniformMatrix4fv",glProgramUniformMatrix4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix2dv,ptr_glProgramUniformMatrix2dv,"glProgramUniformMatrix2dv",glProgramUniformMatrix2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix3dv,ptr_glProgramUniformMatrix3dv,"glProgramUniformMatrix3dv",glProgramUniformMatrix3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix4dv,ptr_glProgramUniformMatrix4dv,"glProgramUniformMatrix4dv",glProgramUniformMatrix4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x3fv,ptr_glProgramUniformMatrix2x3fv,"glProgramUniformMatrix2x3fv",glProgramUniformMatrix2x3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x2fv,ptr_glProgramUniformMatrix3x2fv,"glProgramUniformMatrix3x2fv",glProgramUniformMatrix3x2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x4fv,ptr_glProgramUniformMatrix2x4fv,"glProgramUniformMatrix2x4fv",glProgramUniformMatrix2x4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x2fv,ptr_glProgramUniformMatrix4x2fv,"glProgramUniformMatrix4x2fv",glProgramUniformMatrix4x2fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x4fv,ptr_glProgramUniformMatrix3x4fv,"glProgramUniformMatrix3x4fv",glProgramUniformMatrix3x4fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x3fv,ptr_glProgramUniformMatrix4x3fv,"glProgramUniformMatrix4x3fv",glProgramUniformMatrix4x3fv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x3dv,ptr_glProgramUniformMatrix2x3dv,"glProgramUniformMatrix2x3dv",glProgramUniformMatrix2x3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x2dv,ptr_glProgramUniformMatrix3x2dv,"glProgramUniformMatrix3x2dv",glProgramUniformMatrix3x2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix2x4dv,ptr_glProgramUniformMatrix2x4dv,"glProgramUniformMatrix2x4dv",glProgramUniformMatrix2x4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x2dv,ptr_glProgramUniformMatrix4x2dv,"glProgramUniformMatrix4x2dv",glProgramUniformMatrix4x2dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix3x4dv,ptr_glProgramUniformMatrix3x4dv,"glProgramUniformMatrix3x4dv",glProgramUniformMatrix3x4dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramUniformMatrix4x3dv,ptr_glProgramUniformMatrix4x3dv,"glProgramUniformMatrix4x3dv",glProgramUniformMatrix4x3dv,GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glValidateProgramPipeline,ptr_glValidateProgramPipeline,"glValidateProgramPipeline",glValidateProgramPipeline,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramPipelineInfoLog,ptr_glGetProgramPipelineInfoLog,"glGetProgramPipelineInfoLog",glGetProgramPipelineInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-
-gl_VERTEX_SHADER_BIT :: GLbitfield
-gl_VERTEX_SHADER_BIT = 0x00000001
-
-gl_FRAGMENT_SHADER_BIT :: GLbitfield
-gl_FRAGMENT_SHADER_BIT = 0x00000002
-
-gl_GEOMETRY_SHADER_BIT :: GLbitfield
-gl_GEOMETRY_SHADER_BIT = 0x00000004
-
-gl_TESS_CONTROL_SHADER_BIT :: GLbitfield
-gl_TESS_CONTROL_SHADER_BIT = 0x00000008
-
-gl_TESS_EVALUATION_SHADER_BIT :: GLbitfield
-gl_TESS_EVALUATION_SHADER_BIT = 0x00000010
-
-gl_ALL_SHADER_BITS :: GLbitfield
-gl_ALL_SHADER_BITS = 0xFFFFFFFF
-
-gl_PROGRAM_SEPARABLE :: GLenum
-gl_PROGRAM_SEPARABLE = 0x8258
-
-gl_ACTIVE_PROGRAM :: GLenum
-gl_ACTIVE_PROGRAM = 0x8259
-
-gl_PROGRAM_PIPELINE_BINDING :: GLenum
-gl_PROGRAM_PIPELINE_BINDING = 0x825A
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
@@ -49,101 +48,5 @@
    gl_UNSIGNED_INT_ATOMIC_COUNTER
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shader_atomic_counter"
-
-EXTENSION_ENTRY(dyn_glGetActiveAtomicCounterBufferiv,ptr_glGetActiveAtomicCounterBufferiv,"glGetActiveAtomicCounterBufferiv",glGetActiveAtomicCounterBufferiv,GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-
-gl_ATOMIC_COUNTER_BUFFER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER = 0x92C0
-
-gl_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1
-
-gl_ATOMIC_COUNTER_BUFFER_START :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_START = 0x92C2
-
-gl_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3
-
-gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4
-
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5
-
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA
-
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
-gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB
-
-gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC
-
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD
-
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE
-
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF
-
-gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0
-
-gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1
-
-gl_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
-gl_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2
-
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
-gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3
-
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
-gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4
-
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
-gl_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5
-
-gl_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
-gl_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6
-
-gl_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
-gl_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7
-
-gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
-gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8
-
-gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
-gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC
-
-gl_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
-gl_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9
-
-gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
-gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA
-
-gl_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
-gl_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
@@ -96,71 +95,33 @@
    GLhandle
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shader_objects"
-
-EXTENSION_ENTRY(dyn_glDeleteObject,ptr_glDeleteObject,"glDeleteObject",glDeleteObject,GLhandle -> IO ())
-EXTENSION_ENTRY(dyn_glGetHandle,ptr_glGetHandle,"glGetHandle",glGetHandle,GLenum -> IO GLhandle)
-EXTENSION_ENTRY(dyn_glDetachObject,ptr_glDetachObject,"glDetachObject",glDetachObject,GLhandle -> GLhandle -> IO ())
-EXTENSION_ENTRY(dyn_glCreateShaderObject,ptr_glCreateShaderObject,"glCreateShaderObject",glCreateShaderObject,GLenum -> IO GLhandle)
-EXTENSION_ENTRY(dyn_glCreateProgramObject,ptr_glCreateProgramObject,"glCreateProgramObject",glCreateProgramObject,IO GLhandle)
-EXTENSION_ENTRY(dyn_glAttachObject,ptr_glAttachObject,"glAttachObject",glAttachObject,GLhandle -> GLhandle -> IO ())
-EXTENSION_ENTRY(dyn_glUseProgramObject,ptr_glUseProgramObject,"glUseProgramObject",glUseProgramObject,GLhandle -> IO ())
-EXTENSION_ENTRY(dyn_glGetObjectParameterfv,ptr_glGetObjectParameterfv,"glGetObjectParameterfv",glGetObjectParameterfv,GLhandle -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetObjectParameteriv,ptr_glGetObjectParameteriv,"glGetObjectParameteriv",glGetObjectParameteriv,GLhandle -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetInfoLog,ptr_glGetInfoLog,"glGetInfoLog",glGetInfoLog,GLhandle -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetAttachedObjects,ptr_glGetAttachedObjects,"glGetAttachedObjects",glGetAttachedObjects,GLhandle -> GLsizei -> Ptr GLsizei -> Ptr GLhandle -> IO ())
-
-gl_PROGRAM_OBJECT :: GLenum
-gl_PROGRAM_OBJECT = 0x8B40
-
--- | Note: We use the ARB suffix here, because the name clashes with the ARB_sync extension.
-gl_OBJECT_TYPE_ARB :: GLenum
-gl_OBJECT_TYPE_ARB = 0x8B4E
-
-gl_OBJECT_SUBTYPE :: GLenum
-gl_OBJECT_SUBTYPE = 0x8B4F
-
-gl_OBJECT_DELETE_STATUS :: GLenum
-gl_OBJECT_DELETE_STATUS = 0x8B80
-
-gl_OBJECT_COMPILE_STATUS :: GLenum
-gl_OBJECT_COMPILE_STATUS = 0x8B81
-
-gl_OBJECT_LINK_STATUS :: GLenum
-gl_OBJECT_LINK_STATUS = 0x8B82
-
-gl_OBJECT_VALIDATE_STATUS :: GLenum
-gl_OBJECT_VALIDATE_STATUS = 0x8B83
-
-gl_OBJECT_INFO_LOG_LENGTH :: GLenum
-gl_OBJECT_INFO_LOG_LENGTH = 0x8B84
-
-gl_OBJECT_ATTACHED_OBJECTS :: GLenum
-gl_OBJECT_ATTACHED_OBJECTS = 0x8B85
-
-gl_OBJECT_ACTIVE_UNIFORMS :: GLenum
-gl_OBJECT_ACTIVE_UNIFORMS = 0x8B86
-
-gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
-gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Types
 
-gl_OBJECT_SHADER_SOURCE_LENGTH :: GLenum
-gl_OBJECT_SHADER_SOURCE_LENGTH = 0x8B88
+glDeleteObject = glDeleteObjectARB
+glGetHandle = glGetHandleARB
+glDetachObject = glDetachObjectARB
+glCreateShaderObject = glCreateShaderObjectARB
+glCreateProgramObject = glCreateProgramObjectARB
+glAttachObject = glAttachObjectARB
+glUseProgramObject = glUseProgramObjectARB
+glGetObjectParameterfv = glGetObjectParameterfvARB
+glGetObjectParameteriv = glGetObjectParameterivARB
+glGetInfoLog = glGetInfoLogARB
+glGetAttachedObjects = glGetAttachedObjectsARB
 
-gl_SHADER_OBJECT :: GLenum
-gl_SHADER_OBJECT = 0x8B48
+gl_PROGRAM_OBJECT = gl_PROGRAM_OBJECT_ARB
+gl_OBJECT_SUBTYPE = gl_OBJECT_SUBTYPE_ARB
+gl_OBJECT_DELETE_STATUS = gl_OBJECT_DELETE_STATUS_ARB
+gl_OBJECT_COMPILE_STATUS = gl_OBJECT_COMPILE_STATUS_ARB
+gl_OBJECT_LINK_STATUS = gl_OBJECT_LINK_STATUS_ARB
+gl_OBJECT_VALIDATE_STATUS = gl_OBJECT_VALIDATE_STATUS_ARB
+gl_OBJECT_INFO_LOG_LENGTH = gl_OBJECT_INFO_LOG_LENGTH_ARB
+gl_OBJECT_ATTACHED_OBJECTS = gl_OBJECT_ATTACHED_OBJECTS_ARB
+gl_OBJECT_ACTIVE_UNIFORMS = gl_OBJECT_ACTIVE_UNIFORMS_ARB
+gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH = gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB
+gl_OBJECT_SHADER_SOURCE_LENGTH = gl_OBJECT_SHADER_SOURCE_LENGTH_ARB
+gl_SHADER_OBJECT = gl_SHADER_OBJECT_ARB
 
-#if HANDLE_IS_POINTER
-type GLhandle = Ptr ()
-#else
-type GLhandle = CUInt
-#endif
+type GLhandle = GLhandleARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
@@ -38,64 +37,5 @@
    gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shader_storage_buffer_object"
-
-EXTENSION_ENTRY(dyn_glShaderStorageBlockBinding,ptr_glShaderStorageBlockBinding,"glShaderStorageBlockBinding",glShaderStorageBlockBinding, GLuint -> GLuint -> GLuint -> IO())
-
-gl_SHADER_STORAGE_BUFFER :: GLenum
-gl_SHADER_STORAGE_BUFFER = 0x90D2
-
-gl_SHADER_STORAGE_BUFFER_BINDING :: GLenum
-gl_SHADER_STORAGE_BUFFER_BINDING = 0x90D3
-
-gl_SHADER_STORAGE_BUFFER_START :: GLenum
-gl_SHADER_STORAGE_BUFFER_START = 0x90D4
-
-gl_SHADER_STORAGE_BUFFER_SIZE :: GLenum
-gl_SHADER_STORAGE_BUFFER_SIZE = 0x90D5
-
-gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6
-
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7
-
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8
-
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9
-
-gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA
-
-gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB
-
-gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
-gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC
-
-gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
-gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD
-
-gl_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
-gl_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE
-
-gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
-gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF
-
-gl_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
-gl_SHADER_STORAGE_BARRIER_BIT = 0x00002000
-
-gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
-gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39
-
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
-gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
@@ -39,51 +38,5 @@
    gl_UNIFORM_NAME_LENGTH
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shader_subroutine"
-
-EXTENSION_ENTRY(dyn_glGetSubroutineUniformLocation,ptr_glGetSubroutineUniformLocation,"glGetSubroutineUniformLocation",glGetSubroutineUniformLocation,GLuint -> GLenum -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(dyn_glGetSubroutineIndex,ptr_glGetSubroutineIndex,"glGetSubroutineIndex",glGetSubroutineIndex,GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
-EXTENSION_ENTRY(dyn_glGetActiveSubroutineUniformiv,ptr_glGetActiveSubroutineUniformiv,"glGetActiveSubroutineUniformiv",glGetActiveSubroutineUniformiv,GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetActiveSubroutineUniformName,ptr_glGetActiveSubroutineUniformName,"glGetActiveSubroutineUniformName",glGetActiveSubroutineUniformName,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetActiveSubroutineName,ptr_glGetActiveSubroutineName,"glGetActiveSubroutineName",glGetActiveSubroutineName,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glUniformSubroutinesuiv,ptr_glUniformSubroutinesuiv,"glUniformSubroutinesuiv",glUniformSubroutinesuiv,GLenum -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetUniformSubroutineuiv,ptr_glGetUniformSubroutineuiv,"glGetUniformSubroutineuiv",glGetUniformSubroutineuiv,GLenum -> GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramStageiv,ptr_glGetProgramStageiv,"glGetProgramStageiv",glGetProgramStageiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-
-gl_ACTIVE_SUBROUTINES :: GLenum
-gl_ACTIVE_SUBROUTINES = 0x8DE5
-
-gl_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
-gl_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6
-
-gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
-gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47
-
-gl_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
-gl_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48
-
-gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
-gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49
-
-gl_MAX_SUBROUTINES :: GLenum
-gl_MAX_SUBROUTINES = 0x8DE7
-
-gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
-gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8
-
-gl_NUM_COMPATIBLE_SUBROUTINES :: GLenum
-gl_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A
-
-gl_COMPATIBLE_SUBROUTINES :: GLenum
-gl_COMPATIBLE_SUBROUTINES = 0x8E4B
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
@@ -29,33 +28,16 @@
    gl_NAMED_STRING_TYPE
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_shading_language_include"
-
-EXTENSION_ENTRY(dyn_glNamedString,ptr_glNamedString,"glNamedString",glNamedString,GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteNamedString,ptr_glDeleteNamedString,"glDeleteNamedString",glDeleteNamedString,GLint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glCompileShaderInclude,ptr_glCompileShaderInclude,"glCompileShaderInclude",glCompileShaderInclude,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glIsNamedString,ptr_glIsNamedString,"glIsNamedString",glIsNamedString,GLint -> Ptr GLchar -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glGetNamedString,ptr_glGetNamedString,"glGetNamedString",glGetNamedString,GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedStringiv,ptr_glGetNamedStringiv,"glGetNamedStringiv",glGetNamedStringiv,GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
-
-gl_SHADER_INCLUDE :: GLenum
-gl_SHADER_INCLUDE = 0x8DAE
-
-gl_NAMED_STRING_LENGTH :: GLenum
-gl_NAMED_STRING_LENGTH = 0x8DE9
-
-gl_NAMED_STRING_TYPE :: GLenum
-gl_NAMED_STRING_TYPE = 0x8DEA
-
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
+glNamedString = glNamedStringARB
+glDeleteNamedString = glDeleteNamedStringARB
+glCompileShaderInclude = glCompileShaderIncludeARB
+glIsNamedString = glIsNamedStringARB
+glGetNamedString = glGetNamedStringARB
+glGetNamedStringiv = glGetNamedStringivARB
 
+gl_SHADER_INCLUDE = gl_SHADER_INCLUDE_ARB
+gl_NAMED_STRING_LENGTH = gl_NAMED_STRING_LENGTH_ARB
+gl_NAMED_STRING_TYPE = gl_NAMED_STRING_TYPE_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
@@ -18,7 +18,6 @@
    gl_TEXTURE_COMPARE_FAIL_VALUE
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_TEXTURE_COMPARE_FAIL_VALUE :: GLenum
-gl_TEXTURE_COMPARE_FAIL_VALUE = 0x80BF
+gl_TEXTURE_COMPARE_FAIL_VALUE = gl_TEXTURE_COMPARE_FAIL_VALUE_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Sync
@@ -45,65 +44,6 @@
    GLsync
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 import Graphics.Rendering.OpenGL.Raw.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_sync"
-
-EXTENSION_ENTRY(dyn_glFenceSync,ptr_glFenceSync,"glFenceSync",glFenceSync,GLenum -> GLbitfield -> IO GLsync)
-EXTENSION_ENTRY(dyn_glIsSync,ptr_glIsSync,"glIsSync",glIsSync,GLsync -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glDeleteSync,ptr_glDeleteSync,"glDeleteSync",glDeleteSync,GLsync -> IO ())
-EXTENSION_ENTRY(dyn_glClientWaitSync,ptr_glClientWaitSync,"glClientWaitSync",glClientWaitSync,GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
-EXTENSION_ENTRY(dyn_glWaitSync,ptr_glWaitSync,"glWaitSync",glWaitSync,GLsync -> GLbitfield -> GLuint64 -> IO ())
-EXTENSION_ENTRY(dyn_glGetInteger64v,ptr_glGetInteger64v,"glGetInteger64v",glGetInteger64v,GLenum -> Ptr GLint64 -> IO ())
-EXTENSION_ENTRY(dyn_glGetSynciv,ptr_glGetSynciv,"glGetSynciv",glGetSynciv,GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-
-gl_MAX_SERVER_WAIT_TIMEOUT :: GLenum
-gl_MAX_SERVER_WAIT_TIMEOUT = 0x9111
-
-gl_OBJECT_TYPE :: GLenum
-gl_OBJECT_TYPE = 0x9112
-
-gl_SYNC_CONDITION :: GLenum
-gl_SYNC_CONDITION = 0x9113
-
-gl_SYNC_STATUS :: GLenum
-gl_SYNC_STATUS = 0x9114
-
-gl_SYNC_FLAGS :: GLenum
-gl_SYNC_FLAGS = 0x9115
-
-gl_SYNC_FENCE :: GLenum
-gl_SYNC_FENCE = 0x9116
-
-gl_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
-gl_SYNC_GPU_COMMANDS_COMPLETE = 0x9117
-
-gl_UNSIGNALED :: GLenum
-gl_UNSIGNALED = 0x9118
-
-gl_SIGNALED :: GLenum
-gl_SIGNALED = 0x9119
-
-gl_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
-gl_SYNC_FLUSH_COMMANDS_BIT = 0x00000001
-
-gl_TIMEOUT_IGNORED :: GLuint64
-gl_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF
-
-gl_ALREADY_SIGNALED :: GLenum
-gl_ALREADY_SIGNALED = 0x911A
-
-gl_TIMEOUT_EXPIRED :: GLenum
-gl_TIMEOUT_EXPIRED = 0x911B
-
-gl_CONDITION_SATISFIED :: GLenum
-gl_CONDITION_SATISFIED = 0x911C
-
-gl_WAIT_FAILED :: GLenum
-gl_WAIT_FAILED = 0x911D
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
@@ -59,113 +58,5 @@
    gl_TESS_CONTROL_SHADER
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_ARB_tessellation_shader"
-
-EXTENSION_ENTRY(dyn_glPatchParameteri,ptr_glPatchParameteri,"glPatchParameteri",glPatchParameteri,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glPatchParameterfv,ptr_glPatchParameterfv,"glPatchParameterfv",glPatchParameterfv,GLenum -> Ptr GLfloat -> IO ())
-
-gl_PATCHES :: GLenum
-gl_PATCHES = 0x000E
-
-gl_PATCH_VERTICES :: GLenum
-gl_PATCH_VERTICES = 0x8E72
-
-gl_PATCH_DEFAULT_INNER_LEVEL :: GLenum
-gl_PATCH_DEFAULT_INNER_LEVEL = 0x8E73
-
-gl_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
-gl_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74
-
-gl_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
-gl_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75
-
-gl_TESS_GEN_MODE :: GLenum
-gl_TESS_GEN_MODE = 0x8E76
-
-gl_TESS_GEN_SPACING :: GLenum
-gl_TESS_GEN_SPACING = 0x8E77
-
-gl_TESS_GEN_VERTEX_ORDER :: GLenum
-gl_TESS_GEN_VERTEX_ORDER = 0x8E78
-
-gl_TESS_GEN_POINT_MODE :: GLenum
-gl_TESS_GEN_POINT_MODE = 0x8E79
-
-gl_ISOLINES :: GLenum
-gl_ISOLINES = 0x8E7A
-
-gl_FRACTIONAL_ODD :: GLenum
-gl_FRACTIONAL_ODD = 0x8E7B
-
-gl_FRACTIONAL_EVEN :: GLenum
-gl_FRACTIONAL_EVEN = 0x8E7C
-
-gl_MAX_PATCH_VERTICES :: GLenum
-gl_MAX_PATCH_VERTICES = 0x8E7D
-
-gl_MAX_TESS_GEN_LEVEL :: GLenum
-gl_MAX_TESS_GEN_LEVEL = 0x8E7E
-
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F
-
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80
-
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81
-
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82
-
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83
-
-gl_MAX_TESS_PATCH_COMPONENTS :: GLenum
-gl_MAX_TESS_PATCH_COMPONENTS = 0x8E84
-
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85
-
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86
-
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
-gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89
-
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
-gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A
-
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C
-
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
-gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D
-
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E
-
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1
-
-gl_TESS_EVALUATION_SHADER :: GLenum
-gl_TESS_EVALUATION_SHADER = 0x8E87
-
-gl_TESS_CONTROL_SHADER :: GLenum
-gl_TESS_CONTROL_SHADER = 0x8E88
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
@@ -25,28 +24,10 @@
    gl_TEXTURE_BUFFER_FORMAT
 ) where
 
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_texture_buffer_object"
-
-EXTENSION_ENTRY(dyn_glTexBuffer,ptr_glTexBuffer,"glTexBuffer",glTexBuffer,GLenum -> GLenum -> GLuint -> IO ())
-
-gl_TEXTURE_BUFFER :: GLenum
-gl_TEXTURE_BUFFER = 0x8C2A
-
-gl_MAX_TEXTURE_BUFFER_SIZE :: GLenum
-gl_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B
-
-gl_TEXTURE_BINDING_BUFFER :: GLenum
-gl_TEXTURE_BINDING_BUFFER = 0x8C2C
-
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
-gl_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
 gl_TEXTURE_BUFFER_FORMAT :: GLenum
-gl_TEXTURE_BUFFER_FORMAT = 0x8C2E
+gl_TEXTURE_BUFFER_FORMAT = gl_TEXTURE_BUFFER_FORMAT_ARB
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs
@@ -14,24 +14,11 @@
 --------------------------------------------------------------------------------
 
 module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC (
+   -- * Tokens
    gl_COMPRESSED_RGBA_BPTC_UNORM,
    gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
    gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
    gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
---------------------------------------------------------------------------------
-
-gl_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
-gl_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C
-
-gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
-gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D
-
-gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
-gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E
-
-gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
-gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs
@@ -24,26 +24,4 @@
    gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_TEXTURE_CUBE_MAP_ARRAY :: GLenum
-gl_TEXTURE_CUBE_MAP_ARRAY = 0x9009
-
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A
-
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B
-
-gl_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY = 0x900C
-
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D
-
-gl_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E
-
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F
-
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs
@@ -37,29 +37,13 @@
    gl_LUMINANCE_ALPHA16F
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_ALPHA32F :: GLenum
-gl_ALPHA32F = 0x8816
-
-gl_INTENSITY32F :: GLenum
-gl_INTENSITY32F = 0x8817
-
-gl_LUMINANCE32F :: GLenum
-gl_LUMINANCE32F = 0x8818
-
-gl_LUMINANCE_ALPHA32F :: GLenum
-gl_LUMINANCE_ALPHA32F = 0x8819
-
-gl_ALPHA16F :: GLenum
-gl_ALPHA16F = 0x881C
-
-gl_INTENSITY16F :: GLenum
-gl_INTENSITY16F = 0x881D
-
-gl_LUMINANCE16F :: GLenum
-gl_LUMINANCE16F = 0x881E
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_LUMINANCE_ALPHA16F :: GLenum
-gl_LUMINANCE_ALPHA16F = 0x881F
+gl_ALPHA32F = gl_ALPHA32F_ARB
+gl_INTENSITY32F = gl_INTENSITY32F_ARB
+gl_LUMINANCE32F = gl_LUMINANCE32F_ARB
+gl_LUMINANCE_ALPHA32F = gl_LUMINANCE_ALPHA32F_ARB
+gl_ALPHA16F = gl_ALPHA16F_ARB
+gl_INTENSITY16F = gl_INTENSITY16F_ARB
+gl_LUMINANCE16F = gl_LUMINANCE16F_ARB
+gl_LUMINANCE_ALPHA16F = gl_LUMINANCE_ALPHA16F_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
@@ -20,13 +20,8 @@
    gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
-gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E
-
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
 gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS :: GLenum
-gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F
+gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
@@ -44,81 +43,5 @@
    gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_texture_multisample"
-
-EXTENSION_ENTRY(dyn_glTexImage2DMultisample,ptr_glTexImage2DMultisample,"glTexImage2DMultisample",glTexImage2DMultisample,GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glTexImage3DMultisample,ptr_glTexImage3DMultisample,"glTexImage3DMultisample",glTexImage3DMultisample,GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultisamplefv,ptr_glGetMultisamplefv,"glGetMultisamplefv",glGetMultisamplefv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glSampleMaski,ptr_glSampleMaski,"glSampleMaski",glSampleMaski,GLuint -> GLbitfield -> IO ())
-
-
-gl_SAMPLE_POSITION :: GLenum
-gl_SAMPLE_POSITION = 0x8E50
-
-gl_SAMPLE_MASK :: GLenum
-gl_SAMPLE_MASK = 0x8E51
-
-gl_SAMPLE_MASK_VALUE :: GLenum
-gl_SAMPLE_MASK_VALUE = 0x8E52
-
-gl_TEXTURE_2D_MULTISAMPLE :: GLenum
-gl_TEXTURE_2D_MULTISAMPLE = 0x9100
-
-gl_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
-gl_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101
-
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102
-
-gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103
-
-gl_MAX_SAMPLE_MASK_WORDS :: GLenum
-gl_MAX_SAMPLE_MASK_WORDS = 0x8E59
-
-gl_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
-gl_MAX_COLOR_TEXTURE_SAMPLES = 0x910E
-
-gl_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
-gl_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F
-
-gl_MAX_INTEGER_SAMPLES :: GLenum
-gl_MAX_INTEGER_SAMPLES = 0x9110
-
-gl_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
-gl_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104
-
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105
-
-gl_TEXTURE_SAMPLES :: GLenum
-gl_TEXTURE_SAMPLES = 0x9106
-
-gl_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
-gl_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107
-
-gl_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_SAMPLER_2D_MULTISAMPLE = 0x9108
-
-gl_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_INT_SAMPLER_2D_MULTISAMPLE = 0x9109
-
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A
-
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B
-
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C
-
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs
@@ -14,12 +14,8 @@
 --------------------------------------------------------------------------------
 
 module Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI (
+   -- * Tokens
    gl_RGB10_A2UI
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
---------------------------------------------------------------------------------
-
-gl_RGB10_A2UI :: GLenum
-gl_RGB10_A2UI = 0x906F
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs
@@ -23,22 +23,4 @@
    gl_SAMPLER_2D_RECT_SHADOW
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_TEXTURE_RECTANGLE :: GLenum
-gl_TEXTURE_RECTANGLE = 0x84F5
-
-gl_TEXTURE_BINDING_RECTANGLE :: GLenum
-gl_TEXTURE_BINDING_RECTANGLE = 0x84F6
-
-gl_PROXY_TEXTURE_RECTANGLE :: GLenum
-gl_PROXY_TEXTURE_RECTANGLE = 0x84F7
-
-gl_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
-gl_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8
-
-gl_SAMPLER_2D_RECT :: GLenum
-gl_SAMPLER_2D_RECT = 0x8B63
-
-gl_SAMPLER_2D_RECT_SHADOW :: GLenum
-gl_SAMPLER_2D_RECT_SHADOW = 0x8B64
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs
@@ -21,21 +21,4 @@
    gl_TEXTURE_SWIZZLE_RGBA
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
---------------------------------------------------------------------------------
-
-gl_TEXTURE_SWIZZLE_R :: GLenum
-gl_TEXTURE_SWIZZLE_R = 0x8E42
-
-gl_TEXTURE_SWIZZLE_G :: GLenum
-gl_TEXTURE_SWIZZLE_G = 0x8E43
-
-gl_TEXTURE_SWIZZLE_B :: GLenum
-gl_TEXTURE_SWIZZLE_B = 0x8E44
-
-gl_TEXTURE_SWIZZLE_A :: GLenum
-gl_TEXTURE_SWIZZLE_A = 0x8E45
-
-gl_TEXTURE_SWIZZLE_RGBA :: GLenum
-gl_TEXTURE_SWIZZLE_RGBA = 0x8E46
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
@@ -25,22 +24,5 @@
    gl_TIMESTAMP
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_timer_query"
-
-EXTENSION_ENTRY(dyn_glQueryCounter,ptr_glQueryCounter,"glQueryCounter",glQueryCounter, GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glGetQueryObjecti64v,ptr_glGetQueryObjecti64v,"glGetQueryObjecti64v",glGetQueryObjecti64v,GLuint -> GLenum -> Ptr GLint64 -> IO ())
-EXTENSION_ENTRY(dyn_glGetQueryObjectui64v,ptr_glGetQueryObjectui64v,"glGetQueryObjectui64v",glGetQueryObjectui64v,GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-
-gl_TIME_ELAPSED :: GLenum
-gl_TIME_ELAPSED = 0x88BF
-
-gl_TIMESTAMP :: GLenum
-gl_TIMESTAMP = 0x8E28
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
@@ -33,42 +32,5 @@
    gl_TRANSFORM_FEEDBACK_BINDING
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_transform_feedback2"
-
-EXTENSION_ENTRY(dyn_glBindTransformFeedback,ptr_glBindTransformFeedback,"glBindTransformFeedback",glBindTransformFeedback,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteTransformFeedbacks,ptr_glDeleteTransformFeedbacks,"glDeleteTransformFeedbacks",glDeleteTransformFeedbacks,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenTransformFeedbacks,ptr_glGenTransformFeedbacks,"glGenTransformFeedbacks",glGenTransformFeedbacks,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glIsTransformFeedback,ptr_glIsTransformFeedback,"glIsTransformFeedback",glIsTransformFeedback,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glPauseTransformFeedback,ptr_glPauseTransformFeedback,"glPauseTransformFeedback",glPauseTransformFeedback,IO ())
-EXTENSION_ENTRY(dyn_glResumeTransformFeedback,ptr_glResumeTransformFeedback,"glResumeTransformFeedback",glResumeTransformFeedback,IO ())
-EXTENSION_ENTRY(dyn_glDrawTransformFeedback,ptr_glDrawTransformFeedback,"glDrawTransformFeedback",glDrawTransformFeedback,GLenum -> GLuint -> IO ())
-
-gl_TRANSFORM_FEEDBACK :: GLenum
-gl_TRANSFORM_FEEDBACK = 0x8E22
-
--- | Legacy name.
-gl_TRANSFORM_FEEDBACK_PAUSED :: GLenum
-gl_TRANSFORM_FEEDBACK_PAUSED = gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED
-
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23
-
--- | Legacy name.
-gl_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
-gl_TRANSFORM_FEEDBACK_ACTIVE = gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE
-
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24
-
-gl_TRANSFORM_FEEDBACK_BINDING :: GLenum
-gl_TRANSFORM_FEEDBACK_BINDING = 0x8E25
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
@@ -27,23 +26,5 @@
    gl_MAX_VERTEX_STREAMS
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_transform_feedback3"
-
-EXTENSION_ENTRY(dyn_glDrawTransformFeedbackStream,ptr_glDrawTransformFeedbackStream,"glDrawTransformFeedbackStream",glDrawTransformFeedbackStream, GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBeginQueryIndexed,ptr_glBeginQueryIndexed,"glBeginQueryIndexed",glBeginQueryIndexed, GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glEndQueryIndexed,ptr_glEndQueryIndexed,"glEndQueryIndexed",glEndQueryIndexed, GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetQueryIndexediv,ptr_glGetQueryIndexediv,"glGetQueryIndexediv",glGetQueryIndexediv, GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-
-gl_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
@@ -62,122 +61,5 @@
    gl_INVALID_INDEX
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_uniform_buffer_object"
-
-EXTENSION_ENTRY(dyn_glGetUniformIndices,ptr_glGetUniformIndices,"glGetUniformIndices",glGetUniformIndices,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetActiveUniformsiv,ptr_glGetActiveUniformsiv,"glGetActiveUniformsiv",glGetActiveUniformsiv,GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetActiveUniformName,ptr_glGetActiveUniformName,"glGetActiveUniformName",glGetActiveUniformName,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetUniformBlockIndex,ptr_glGetUniformBlockIndex,"glGetUniformBlockIndex",glGetUniformBlockIndex,GLuint -> Ptr GLchar -> IO GLuint)
-EXTENSION_ENTRY(dyn_glGetActiveUniformBlockiv,ptr_glGetActiveUniformBlockiv,"glGetActiveUniformBlockiv",glGetActiveUniformBlockiv,GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetActiveUniformBlockName,ptr_glGetActiveUniformBlockName,"glGetActiveUniformBlockName",glGetActiveUniformBlockName,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glBindBufferRange,ptr_glBindBufferRange,"glBindBufferRange",glBindBufferRange,GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-EXTENSION_ENTRY(dyn_glBindBufferBase,ptr_glBindBufferBase,"glBindBufferBase",glBindBufferBase,GLenum -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetIntegeri_v,ptr_glGetIntegeri_v,"glGetIntegeri_v",glGetIntegeri_v,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniformBlockBinding,ptr_glUniformBlockBinding,"glUniformBlockBinding",glUniformBlockBinding,GLuint -> GLuint -> GLuint -> IO ())
-
-gl_UNIFORM_BUFFER :: GLenum
-gl_UNIFORM_BUFFER = 0x8A11
-
-gl_UNIFORM_BUFFER_BINDING :: GLenum
-gl_UNIFORM_BUFFER_BINDING = 0x8A28
-
-gl_UNIFORM_BUFFER_START :: GLenum
-gl_UNIFORM_BUFFER_START = 0x8A29
-
-gl_UNIFORM_BUFFER_SIZE :: GLenum
-gl_UNIFORM_BUFFER_SIZE = 0x8A2A
-
-gl_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
-gl_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B
-
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
-gl_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C
-
-gl_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D
-
-gl_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
-gl_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E
-
-gl_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
-gl_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F
-
-gl_MAX_UNIFORM_BLOCK_SIZE :: GLenum
-gl_MAX_UNIFORM_BLOCK_SIZE = 0x8A30
-
-gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31
-
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32
-
-gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33
-
-gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
-gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34
-
-gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
-gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35
-
-gl_ACTIVE_UNIFORM_BLOCKS :: GLenum
-gl_ACTIVE_UNIFORM_BLOCKS = 0x8A36
-
-gl_UNIFORM_TYPE :: GLenum
-gl_UNIFORM_TYPE = 0x8A37
-
-gl_UNIFORM_SIZE :: GLenum
-gl_UNIFORM_SIZE = 0x8A38
-
-gl_UNIFORM_NAME_LENGTH :: GLenum
-gl_UNIFORM_NAME_LENGTH = 0x8A39
-
-gl_UNIFORM_BLOCK_INDEX :: GLenum
-gl_UNIFORM_BLOCK_INDEX = 0x8A3A
-
-gl_UNIFORM_OFFSET :: GLenum
-gl_UNIFORM_OFFSET = 0x8A3B
-
-gl_UNIFORM_ARRAY_STRIDE :: GLenum
-gl_UNIFORM_ARRAY_STRIDE = 0x8A3C
-
-gl_UNIFORM_MATRIX_STRIDE :: GLenum
-gl_UNIFORM_MATRIX_STRIDE = 0x8A3D
-
-gl_UNIFORM_IS_ROW_MAJOR :: GLenum
-gl_UNIFORM_IS_ROW_MAJOR = 0x8A3E
-
-gl_UNIFORM_BLOCK_BINDING :: GLenum
-gl_UNIFORM_BLOCK_BINDING = 0x8A3F
-
-gl_UNIFORM_BLOCK_DATA_SIZE :: GLenum
-gl_UNIFORM_BLOCK_DATA_SIZE = 0x8A40
-
-gl_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
-gl_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41
-
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42
-
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
-gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45
-
-gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
-gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46
-
-gl_INVALID_INDEX :: GLenum
-gl_INVALID_INDEX = 0xFFFFFFFF
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
@@ -43,27 +42,5 @@
    gl_DOUBLE_MAT4x3
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_vertex_attrib_64bit"
-
-EXTENSION_ENTRY(dyn_glVertexAttribL1d,ptr_glVertexAttribL1d,"glVertexAttribL1d",glVertexAttribL1d,GLuint -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribL2d,ptr_glVertexAttribL2d,"glVertexAttribL2d",glVertexAttribL2d,GLuint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribL3d,ptr_glVertexAttribL3d,"glVertexAttribL3d",glVertexAttribL3d,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribL4d,ptr_glVertexAttribL4d,"glVertexAttribL4d",glVertexAttribL4d,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribL1dv,ptr_glVertexAttribL1dv,"glVertexAttribL1dv",glVertexAttribL1dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribL2dv,ptr_glVertexAttribL2dv,"glVertexAttribL2dv",glVertexAttribL2dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribL3dv,ptr_glVertexAttribL3dv,"glVertexAttribL3dv",glVertexAttribL3dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribL4dv,ptr_glVertexAttribL4dv,"glVertexAttribL4dv",glVertexAttribL4dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribLPointer,ptr_glVertexAttribLPointer,"glVertexAttribLPointer",glVertexAttribLPointer,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetVertexAttribLdv,ptr_glGetVertexAttribLdv,"glGetVertexAttribLdv",glGetVertexAttribLdv,GLuint -> GLenum -> Ptr GLdouble -> IO ())
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
@@ -71,149 +70,59 @@
    gl_WEIGHT_ARRAY
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_vertex_blend"
-
-EXTENSION_ENTRY(dyn_glWeightbv,ptr_glWeightbv,"glWeightbv",glWeightbv,GLint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glWeightsv,ptr_glWeightsv,"glWeightsv",glWeightsv,GLint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glWeightiv,ptr_glWeightiv,"glWeightiv",glWeightiv,GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glWeightfv,ptr_glWeightfv,"glWeightfv",glWeightfv,GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glWeightdv,ptr_glWeightdv,"glWeightdv",glWeightdv,GLint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glWeightubv,ptr_glWeightubv,"glWeightubv",glWeightubv,GLint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glWeightusv,ptr_glWeightusv,"glWeightusv",glWeightusv,GLint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glWeightuiv,ptr_glWeightuiv,"glWeightuiv",glWeightuiv,GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glWeightPointer,ptr_glWeightPointer,"glWeightPointer",glWeightPointer,GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glVertexBlend,ptr_glVertexBlend,"glVertexBlend",glVertexBlend,GLint -> IO ())
-
-gl_MAX_VERTEX_UNITS :: GLenum
-gl_MAX_VERTEX_UNITS = 0x86A4
-
-gl_ACTIVE_VERTEX_UNITS :: GLenum
-gl_ACTIVE_VERTEX_UNITS = 0x86A5
-
-gl_WEIGHT_SUM_UNITY :: GLenum
-gl_WEIGHT_SUM_UNITY = 0x86A6
-
-gl_VERTEX_BLEND :: GLenum
-gl_VERTEX_BLEND = 0x86A7
-
-gl_MODELVIEW0 :: GLenum
-gl_MODELVIEW0 = 0x1700
-
-gl_MODELVIEW1 :: GLenum
-gl_MODELVIEW1 = 0x850a
-
-gl_MODELVIEW2 :: GLenum
-gl_MODELVIEW2 = 0x8722
-
-gl_MODELVIEW3 :: GLenum
-gl_MODELVIEW3 = 0x8723
-
-gl_MODELVIEW4 :: GLenum
-gl_MODELVIEW4 = 0x8724
-
-gl_MODELVIEW5 :: GLenum
-gl_MODELVIEW5 = 0x8725
-
-gl_MODELVIEW6 :: GLenum
-gl_MODELVIEW6 = 0x8726
-
-gl_MODELVIEW7 :: GLenum
-gl_MODELVIEW7 = 0x8727
-
-gl_MODELVIEW8 :: GLenum
-gl_MODELVIEW8 = 0x8728
-
-gl_MODELVIEW9 :: GLenum
-gl_MODELVIEW9 = 0x8729
-
-gl_MODELVIEW10 :: GLenum
-gl_MODELVIEW10 = 0x872A
-
-gl_MODELVIEW11 :: GLenum
-gl_MODELVIEW11 = 0x872B
-
-gl_MODELVIEW12 :: GLenum
-gl_MODELVIEW12 = 0x872C
-
-gl_MODELVIEW13 :: GLenum
-gl_MODELVIEW13 = 0x872D
-
-gl_MODELVIEW14 :: GLenum
-gl_MODELVIEW14 = 0x872E
-
-gl_MODELVIEW15 :: GLenum
-gl_MODELVIEW15 = 0x872F
-
-gl_MODELVIEW16 :: GLenum
-gl_MODELVIEW16 = 0x8730
-
-gl_MODELVIEW17 :: GLenum
-gl_MODELVIEW17 = 0x8731
-
-gl_MODELVIEW18 :: GLenum
-gl_MODELVIEW18 = 0x8732
-
-gl_MODELVIEW19 :: GLenum
-gl_MODELVIEW19 = 0x8733
-
-gl_MODELVIEW20 :: GLenum
-gl_MODELVIEW20 = 0x8734
-
-gl_MODELVIEW21 :: GLenum
-gl_MODELVIEW21 = 0x8735
-
-gl_MODELVIEW22 :: GLenum
-gl_MODELVIEW22 = 0x8736
-
-gl_MODELVIEW23 :: GLenum
-gl_MODELVIEW23 = 0x8737
-
-gl_MODELVIEW24 :: GLenum
-gl_MODELVIEW24 = 0x8738
-
-gl_MODELVIEW25 :: GLenum
-gl_MODELVIEW25 = 0x8739
-
-gl_MODELVIEW26 :: GLenum
-gl_MODELVIEW26 = 0x873A
-
-gl_MODELVIEW27 :: GLenum
-gl_MODELVIEW27 = 0x873B
-
-gl_MODELVIEW28 :: GLenum
-gl_MODELVIEW28 = 0x873C
-
-gl_MODELVIEW29 :: GLenum
-gl_MODELVIEW29 = 0x873D
-
-gl_MODELVIEW30 :: GLenum
-gl_MODELVIEW30 = 0x873E
-
-gl_MODELVIEW31 :: GLenum
-gl_MODELVIEW31 = 0x873F
-
-gl_CURRENT_WEIGHT :: GLenum
-gl_CURRENT_WEIGHT = 0x86A8
-
-gl_WEIGHT_ARRAY_TYPE :: GLenum
-gl_WEIGHT_ARRAY_TYPE = 0x86A9
-
-gl_WEIGHT_ARRAY_STRIDE :: GLenum
-gl_WEIGHT_ARRAY_STRIDE = 0x86AA
-
-gl_WEIGHT_ARRAY_SIZE :: GLenum
-gl_WEIGHT_ARRAY_SIZE = 0x86AB
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-gl_WEIGHT_ARRAY_POINTER :: GLenum
-gl_WEIGHT_ARRAY_POINTER = 0x86AC
+glWeightbv = glWeightbvARB
+glWeightsv = glWeightsvARB
+glWeightiv = glWeightivARB
+glWeightfv = glWeightfvARB
+glWeightdv = glWeightdvARB
+glWeightubv = glWeightubvARB
+glWeightusv = glWeightusvARB
+glWeightuiv = glWeightuivARB
+glWeightPointer = glWeightPointerARB
+glVertexBlend = glVertexBlendARB
 
-gl_WEIGHT_ARRAY :: GLenum
-gl_WEIGHT_ARRAY = 0x86AD
+gl_MAX_VERTEX_UNITS = gl_MAX_VERTEX_UNITS_ARB
+gl_ACTIVE_VERTEX_UNITS = gl_ACTIVE_VERTEX_UNITS_ARB
+gl_WEIGHT_SUM_UNITY = gl_WEIGHT_SUM_UNITY_ARB
+gl_VERTEX_BLEND = gl_VERTEX_BLEND_ARB
+gl_MODELVIEW0 = gl_MODELVIEW0_ARB
+gl_MODELVIEW1 = gl_MODELVIEW1_ARB
+gl_MODELVIEW2 = gl_MODELVIEW2_ARB
+gl_MODELVIEW3 = gl_MODELVIEW3_ARB
+gl_MODELVIEW4 = gl_MODELVIEW4_ARB
+gl_MODELVIEW5 = gl_MODELVIEW5_ARB
+gl_MODELVIEW6 = gl_MODELVIEW6_ARB
+gl_MODELVIEW7 = gl_MODELVIEW7_ARB
+gl_MODELVIEW8 = gl_MODELVIEW8_ARB
+gl_MODELVIEW9 = gl_MODELVIEW9_ARB
+gl_MODELVIEW10 = gl_MODELVIEW10_ARB
+gl_MODELVIEW11 = gl_MODELVIEW11_ARB
+gl_MODELVIEW12 = gl_MODELVIEW12_ARB
+gl_MODELVIEW13 = gl_MODELVIEW13_ARB
+gl_MODELVIEW14 = gl_MODELVIEW14_ARB
+gl_MODELVIEW15 = gl_MODELVIEW15_ARB
+gl_MODELVIEW16 = gl_MODELVIEW16_ARB
+gl_MODELVIEW17 = gl_MODELVIEW17_ARB
+gl_MODELVIEW18 = gl_MODELVIEW18_ARB
+gl_MODELVIEW19 = gl_MODELVIEW19_ARB
+gl_MODELVIEW20 = gl_MODELVIEW20_ARB
+gl_MODELVIEW21 = gl_MODELVIEW21_ARB
+gl_MODELVIEW22 = gl_MODELVIEW22_ARB
+gl_MODELVIEW23 = gl_MODELVIEW23_ARB
+gl_MODELVIEW24 = gl_MODELVIEW24_ARB
+gl_MODELVIEW25 = gl_MODELVIEW25_ARB
+gl_MODELVIEW26 = gl_MODELVIEW26_ARB
+gl_MODELVIEW27 = gl_MODELVIEW27_ARB
+gl_MODELVIEW28 = gl_MODELVIEW28_ARB
+gl_MODELVIEW29 = gl_MODELVIEW29_ARB
+gl_MODELVIEW30 = gl_MODELVIEW30_ARB
+gl_MODELVIEW31 = gl_MODELVIEW31_ARB
+gl_CURRENT_WEIGHT = gl_CURRENT_WEIGHT_ARB
+gl_WEIGHT_ARRAY_TYPE = gl_WEIGHT_ARRAY_TYPE_ARB
+gl_WEIGHT_ARRAY_STRIDE = gl_WEIGHT_ARRAY_STRIDE_ARB
+gl_WEIGHT_ARRAY_SIZE = gl_WEIGHT_ARRAY_SIZE_ARB
+gl_WEIGHT_ARRAY_POINTER = gl_WEIGHT_ARRAY_POINTER_ARB
+gl_WEIGHT_ARRAY = gl_WEIGHT_ARRAY_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
@@ -160,235 +159,12 @@
    gl_MATRIX31
 ) where
 
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_vertex_program"
-
-EXTENSION_ENTRY(dyn_glProgramString,ptr_glProgramString,"glProgramString",glProgramString,GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glBindProgram,ptr_glBindProgram,"glBindProgram",glBindProgram,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeletePrograms,ptr_glDeletePrograms,"glDeletePrograms",glDeletePrograms,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenPrograms,ptr_glGenPrograms,"glGenPrograms",glGenPrograms,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glProgramEnvParameter4d,ptr_glProgramEnvParameter4d,"glProgramEnvParameter4d",glProgramEnvParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
-EXTENSION_ENTRY(dyn_glProgramEnvParameter4dv,ptr_glProgramEnvParameter4dv,"glProgramEnvParameter4dv",glProgramEnvParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramEnvParameter4f,ptr_glProgramEnvParameter4f,"glProgramEnvParameter4f",glProgramEnvParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
-EXTENSION_ENTRY(dyn_glProgramEnvParameter4fv,ptr_glProgramEnvParameter4fv,"glProgramEnvParameter4fv",glProgramEnvParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glProgramLocalParameter4d,ptr_glProgramLocalParameter4d,"glProgramLocalParameter4d",glProgramLocalParameter4d,GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble  -> IO ())
-EXTENSION_ENTRY(dyn_glProgramLocalParameter4dv,ptr_glProgramLocalParameter4dv,"glProgramLocalParameter4dv",glProgramLocalParameter4dv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glProgramLocalParameter4f,ptr_glProgramLocalParameter4f,"glProgramLocalParameter4f",glProgramLocalParameter4f,GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat  -> IO ())
-EXTENSION_ENTRY(dyn_glProgramLocalParameter4fv,ptr_glProgramLocalParameter4fv,"glProgramLocalParameter4fv",glProgramLocalParameter4fv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramEnvParameterdv,ptr_glGetProgramEnvParameterdv,"glGetProgramEnvParameterdv",glGetProgramEnvParameterdv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramEnvParameterfv,ptr_glGetProgramEnvParameterfv,"glGetProgramEnvParameterfv",glGetProgramEnvParameterfv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramLocalParameterdv,ptr_glGetProgramLocalParameterdv,"glGetProgramLocalParameterdv",glGetProgramLocalParameterdv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramLocalParameterfv,ptr_glGetProgramLocalParameterfv,"glGetProgramLocalParameterfv",glGetProgramLocalParameterfv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramString,ptr_glGetProgramString,"glGetProgramString",glGetProgramString,GLenum -> GLenum -> Ptr a -> IO ())
-
-gl_VERTEX_PROGRAM :: GLenum
-gl_VERTEX_PROGRAM = 0x8620
-
-gl_PROGRAM_FORMAT_ASCII :: GLenum
-gl_PROGRAM_FORMAT_ASCII = 0x8875
-
-gl_PROGRAM_LENGTH :: GLenum
-gl_PROGRAM_LENGTH = 0x8627
-
-gl_PROGRAM_FORMAT :: GLenum
-gl_PROGRAM_FORMAT = 0x8876
-
-gl_PROGRAM_BINDING :: GLenum
-gl_PROGRAM_BINDING = 0x8677
-
-gl_PROGRAM_INSTRUCTIONS :: GLenum
-gl_PROGRAM_INSTRUCTIONS = 0x88A0
-
-gl_MAX_PROGRAM_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_INSTRUCTIONS = 0x88A1
-
-gl_PROGRAM_NATIVE_INSTRUCTIONS :: GLenum
-gl_PROGRAM_NATIVE_INSTRUCTIONS = 0x88A2
-
-gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS :: GLenum
-gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS = 0x88A3
-
-gl_PROGRAM_TEMPORARIES :: GLenum
-gl_PROGRAM_TEMPORARIES = 0x88A4
-
-gl_MAX_PROGRAM_TEMPORARIES :: GLenum
-gl_MAX_PROGRAM_TEMPORARIES = 0x88A5
-
-gl_PROGRAM_NATIVE_TEMPORARIES :: GLenum
-gl_PROGRAM_NATIVE_TEMPORARIES = 0x88A6
-
-gl_MAX_PROGRAM_NATIVE_TEMPORARIES :: GLenum
-gl_MAX_PROGRAM_NATIVE_TEMPORARIES = 0x88A7
-
-gl_PROGRAM_PARAMETERS :: GLenum
-gl_PROGRAM_PARAMETERS = 0x88A8
-
-gl_MAX_PROGRAM_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_PARAMETERS = 0x88A9
-
-gl_PROGRAM_NATIVE_PARAMETERS :: GLenum
-gl_PROGRAM_NATIVE_PARAMETERS = 0x88AA
-
-gl_MAX_PROGRAM_NATIVE_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_NATIVE_PARAMETERS = 0x88AB
-
-gl_PROGRAM_ATTRIBS :: GLenum
-gl_PROGRAM_ATTRIBS = 0x88AC
-
-gl_MAX_PROGRAM_ATTRIBS :: GLenum
-gl_MAX_PROGRAM_ATTRIBS = 0x88AD
-
-gl_PROGRAM_NATIVE_ATTRIBS :: GLenum
-gl_PROGRAM_NATIVE_ATTRIBS = 0x88AE
-
-gl_MAX_PROGRAM_NATIVE_ATTRIBS :: GLenum
-gl_MAX_PROGRAM_NATIVE_ATTRIBS = 0x88AF
-
-gl_PROGRAM_ADDRESS_REGISTERS :: GLenum
-gl_PROGRAM_ADDRESS_REGISTERS = 0x88B0
-
-gl_MAX_PROGRAM_ADDRESS_REGISTERS :: GLenum
-gl_MAX_PROGRAM_ADDRESS_REGISTERS = 0x88B1
-
-gl_PROGRAM_NATIVE_ADDRESS_REGISTERS :: GLenum
-gl_PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B2
-
-gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS :: GLenum
-gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B3
-
-gl_MAX_PROGRAM_LOCAL_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_LOCAL_PARAMETERS = 0x88B4
-
-gl_MAX_PROGRAM_ENV_PARAMETERS :: GLenum
-gl_MAX_PROGRAM_ENV_PARAMETERS = 0x88B5
-
-gl_PROGRAM_UNDER_NATIVE_LIMITS :: GLenum
-gl_PROGRAM_UNDER_NATIVE_LIMITS = 0x88B6
-
-gl_PROGRAM_STRING :: GLenum
-gl_PROGRAM_STRING = 0x8628
-
-gl_PROGRAM_ERROR_POSITION :: GLenum
-gl_PROGRAM_ERROR_POSITION = 0x864B
-
-gl_CURRENT_MATRIX :: GLenum
-gl_CURRENT_MATRIX = 0x8641
-
-gl_TRANSPOSE_CURRENT_MATRIX :: GLenum
-gl_TRANSPOSE_CURRENT_MATRIX = 0x88B7
-
-gl_CURRENT_MATRIX_STACK_DEPTH :: GLenum
-gl_CURRENT_MATRIX_STACK_DEPTH = 0x8640
-
-gl_MAX_PROGRAM_MATRICES :: GLenum
-gl_MAX_PROGRAM_MATRICES = 0x862F
-
-gl_MAX_PROGRAM_MATRIX_STACK_DEPTH :: GLenum
-gl_MAX_PROGRAM_MATRIX_STACK_DEPTH = 0x862E
-
-gl_PROGRAM_ERROR_STRING :: GLenum
-gl_PROGRAM_ERROR_STRING = 0x8874
-
-gl_MATRIX0 :: GLenum
-gl_MATRIX0 = 0x88C0
-
-gl_MATRIX1 :: GLenum
-gl_MATRIX1 = 0x88C1
-
-gl_MATRIX2 :: GLenum
-gl_MATRIX2 = 0x88C2
-
-gl_MATRIX3 :: GLenum
-gl_MATRIX3 = 0x88C3
-
-gl_MATRIX4 :: GLenum
-gl_MATRIX4 = 0x88C4
-
-gl_MATRIX5 :: GLenum
-gl_MATRIX5 = 0x88C5
-
-gl_MATRIX6 :: GLenum
-gl_MATRIX6 = 0x88C6
-
-gl_MATRIX7 :: GLenum
-gl_MATRIX7 = 0x88C7
-
-gl_MATRIX8 :: GLenum
-gl_MATRIX8 = 0x88C8
-
-gl_MATRIX9 :: GLenum
-gl_MATRIX9 = 0x88C9
-
-gl_MATRIX10 :: GLenum
-gl_MATRIX10 = 0x88CA
-
-gl_MATRIX11 :: GLenum
-gl_MATRIX11 = 0x88CB
-
-gl_MATRIX12 :: GLenum
-gl_MATRIX12 = 0x88CC
-
-gl_MATRIX13 :: GLenum
-gl_MATRIX13 = 0x88CD
-
-gl_MATRIX14 :: GLenum
-gl_MATRIX14 = 0x88CE
-
-gl_MATRIX15 :: GLenum
-gl_MATRIX15 = 0x88CF
-
-gl_MATRIX16 :: GLenum
-gl_MATRIX16 = 0x88D0
-
-gl_MATRIX17 :: GLenum
-gl_MATRIX17 = 0x88D1
-
-gl_MATRIX18 :: GLenum
-gl_MATRIX18 = 0x88D2
-
-gl_MATRIX19 :: GLenum
-gl_MATRIX19 = 0x88D3
-
-gl_MATRIX20 :: GLenum
-gl_MATRIX20 = 0x88D4
-
-gl_MATRIX21 :: GLenum
-gl_MATRIX21 = 0x88D5
-
-gl_MATRIX22 :: GLenum
-gl_MATRIX22 = 0x88D6
-
-gl_MATRIX23 :: GLenum
-gl_MATRIX23 = 0x88D7
-
-gl_MATRIX24 :: GLenum
-gl_MATRIX24 = 0x88D8
-
-gl_MATRIX25 :: GLenum
-gl_MATRIX25 = 0x88D9
-
-gl_MATRIX26 :: GLenum
-gl_MATRIX26 = 0x88DA
-
-gl_MATRIX27 :: GLenum
-gl_MATRIX27 = 0x88DB
-
-gl_MATRIX28 :: GLenum
-gl_MATRIX28 = 0x88DC
-
-gl_MATRIX29 :: GLenum
-gl_MATRIX29 = 0x88DD
-
-gl_MATRIX30 :: GLenum
-gl_MATRIX30 = 0x88DE
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
 
-gl_MATRIX31 :: GLenum
-gl_MATRIX31 = 0x88DF
+gl_VERTEX_PROGRAM = gl_VERTEX_PROGRAM_ARB
+gl_PROGRAM_ADDRESS_REGISTERS = gl_PROGRAM_ADDRESS_REGISTERS_ARB
+gl_MAX_PROGRAM_ADDRESS_REGISTERS = gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB
+gl_PROGRAM_NATIVE_ADDRESS_REGISTERS = gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
+gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS = gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
@@ -90,12 +90,8 @@
    gl_FLOAT_MAT4
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
-
-gl_OBJECT_ACTIVE_ATTRIBUTES :: GLenum
-gl_OBJECT_ACTIVE_ATTRIBUTES = 0x8B89
-
-gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
-gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
+gl_OBJECT_ACTIVE_ATTRIBUTES = gl_OBJECT_ACTIVE_ATTRIBUTES_ARB
+gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH = gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev
@@ -61,57 +60,5 @@
    gl_INT_2_10_10_10_REV
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
---------------------------------------------------------------------------------
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_ARB_vertex_type_2_10_10_10_rev"
-
-EXTENSION_ENTRY(dyn_glVertexAttribP1ui,ptr_glVertexAttribP1ui,"glVertexAttribP1ui",glVertexAttribP1ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribP1uiv,ptr_glVertexAttribP1uiv,"glVertexAttribP1uiv",glVertexAttribP1uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribP2ui,ptr_glVertexAttribP2ui,"glVertexAttribP2ui",glVertexAttribP2ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribP2uiv,ptr_glVertexAttribP2uiv,"glVertexAttribP2uiv",glVertexAttribP2uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribP3ui,ptr_glVertexAttribP3ui,"glVertexAttribP3ui",glVertexAttribP3ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribP3uiv,ptr_glVertexAttribP3uiv,"glVertexAttribP3uiv",glVertexAttribP3uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribP4ui,ptr_glVertexAttribP4ui,"glVertexAttribP4ui",glVertexAttribP4ui,GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribP4uiv,ptr_glVertexAttribP4uiv,"glVertexAttribP4uiv",glVertexAttribP4uiv,GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexP2ui,ptr_glVertexP2ui,"glVertexP2ui",glVertexP2ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexP2uiv,ptr_glVertexP2uiv,"glVertexP2uiv",glVertexP2uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexP3ui,ptr_glVertexP3ui,"glVertexP3ui",glVertexP3ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexP3uiv,ptr_glVertexP3uiv,"glVertexP3uiv",glVertexP3uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexP4ui,ptr_glVertexP4ui,"glVertexP4ui",glVertexP4ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexP4uiv,ptr_glVertexP4uiv,"glVertexP4uiv",glVertexP4uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP1ui,ptr_glTexCoordP1ui,"glTexCoordP1ui",glTexCoordP1ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP1uiv,ptr_glTexCoordP1uiv,"glTexCoordP1uiv",glTexCoordP1uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP2ui,ptr_glTexCoordP2ui,"glTexCoordP2ui",glTexCoordP2ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP2uiv,ptr_glTexCoordP2uiv,"glTexCoordP2uiv",glTexCoordP2uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP3ui,ptr_glTexCoordP3ui,"glTexCoordP3ui",glTexCoordP3ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP3uiv,ptr_glTexCoordP3uiv,"glTexCoordP3uiv",glTexCoordP3uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP4ui,ptr_glTexCoordP4ui,"glTexCoordP4ui",glTexCoordP4ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexCoordP4uiv,ptr_glTexCoordP4uiv,"glTexCoordP4uiv",glTexCoordP4uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP1ui,ptr_glMultiTexCoordP1ui,"glMultiTexCoordP1ui",glMultiTexCoordP1ui,GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP1uiv,ptr_glMultiTexCoordP1uiv,"glMultiTexCoordP1uiv",glMultiTexCoordP1uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP2ui,ptr_glMultiTexCoordP2ui,"glMultiTexCoordP2ui",glMultiTexCoordP2ui,GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP2uiv,ptr_glMultiTexCoordP2uiv,"glMultiTexCoordP2uiv",glMultiTexCoordP2uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP3ui,ptr_glMultiTexCoordP3ui,"glMultiTexCoordP3ui",glMultiTexCoordP3ui,GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP3uiv,ptr_glMultiTexCoordP3uiv,"glMultiTexCoordP3uiv",glMultiTexCoordP3uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP4ui,ptr_glMultiTexCoordP4ui,"glMultiTexCoordP4ui",glMultiTexCoordP4ui,GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordP4uiv,ptr_glMultiTexCoordP4uiv,"glMultiTexCoordP4uiv",glMultiTexCoordP4uiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glNormalP3ui,ptr_glNormalP3ui,"glNormalP3ui",glNormalP3ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glNormalP3uiv,ptr_glNormalP3uiv,"glNormalP3uiv",glNormalP3uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColorP3ui,ptr_glColorP3ui,"glColorP3ui",glColorP3ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColorP3uiv,ptr_glColorP3uiv,"glColorP3uiv",glColorP3uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColorP4ui,ptr_glColorP4ui,"glColorP4ui",glColorP4ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glColorP4uiv,ptr_glColorP4uiv,"glColorP4uiv",glColorP4uiv,GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColorP3ui,ptr_glSecondaryColorP3ui,"glSecondaryColorP3ui",glSecondaryColorP3ui,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glSecondaryColorP3uiv,ptr_glSecondaryColorP3uiv,"glSecondaryColorP3uiv",glSecondaryColorP3uiv,GLenum -> Ptr GLuint -> IO ())
-
-gl_INT_2_10_10_10_REV :: GLenum
-gl_INT_2_10_10_10_REV = 0x8D9F
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility30.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility30.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility30.hs
@@ -0,0 +1,1766 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility30
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility30 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindTexture,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteShader,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsShader,
+  glIsTexture,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribPointer,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility31.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility31.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility31.hs
@@ -0,0 +1,1839 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility31
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility31 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNED_NORMALIZED,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindTexture,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteShader,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsInstanced,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsShader,
+  glIsTexture,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribPointer,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility32.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility32.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility32.hs
@@ -0,0 +1,1925 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility32
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility32 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindTexture,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribPointer,
+  glVertexPointer,
+  glViewport,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility33.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility33.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility33.hs
@@ -0,0 +1,1999 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility33
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility33 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glViewport,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility40.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility40.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility40.hs
@@ -0,0 +1,2122 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility40
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility40 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackStream,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMinSampleShading,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glViewport,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility41.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility41.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility41.hs
@@ -0,0 +1,2245 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility41
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility41 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_HINT_BIT,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackStream,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMinSampleShading,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glReleaseShaderCompiler,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderBinary,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility42.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility42.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility42.hs
@@ -0,0 +1,2369 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility42
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility42 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_HINT_BIT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformativ,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMemoryBarrier,
+  glMinSampleShading,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glReleaseShaderCompiler,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderBinary,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage3D,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility43.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility43.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility43.hs
@@ -0,0 +1,2672 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility43
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility43 (
+  -- * Types
+  GLDEBUGPROC,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_RESOURCES,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_VARIABLES,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ARRAY_SIZE,
+  gl_ARRAY_STRIDE,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_GENERATE_MIPMAP,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLOCK_INDEX,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_BINDING,
+  gl_BUFFER_DATA_SIZE,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BUFFER_VARIABLE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CAVEAT_SUPPORT,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLEAR_BUFFER,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_COMPONENTS,
+  gl_COLOR_ENCODING,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_RENDERABLE,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_R11_EAC,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RG11_EAC,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGB8_ETC2,
+  gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA8_ETC2_EAC,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_R11_EAC,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG11_EAC,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  gl_COMPRESSED_SRGB8_ETC2,
+  gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_COMPUTE_SHADER,
+  gl_COMPUTE_SHADER_BIT,
+  gl_COMPUTE_SUBROUTINE,
+  gl_COMPUTE_SUBROUTINE_UNIFORM,
+  gl_COMPUTE_TEXTURE,
+  gl_COMPUTE_WORK_GROUP_SIZE,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_DEBUG_BIT,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DEBUG_CALLBACK_FUNCTION,
+  gl_DEBUG_CALLBACK_USER_PARAM,
+  gl_DEBUG_GROUP_STACK_DEPTH,
+  gl_DEBUG_LOGGED_MESSAGES,
+  gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  gl_DEBUG_OUTPUT,
+  gl_DEBUG_OUTPUT_SYNCHRONOUS,
+  gl_DEBUG_SEVERITY_HIGH,
+  gl_DEBUG_SEVERITY_LOW,
+  gl_DEBUG_SEVERITY_MEDIUM,
+  gl_DEBUG_SEVERITY_NOTIFICATION,
+  gl_DEBUG_SOURCE_API,
+  gl_DEBUG_SOURCE_APPLICATION,
+  gl_DEBUG_SOURCE_OTHER,
+  gl_DEBUG_SOURCE_SHADER_COMPILER,
+  gl_DEBUG_SOURCE_THIRD_PARTY,
+  gl_DEBUG_SOURCE_WINDOW_SYSTEM,
+  gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  gl_DEBUG_TYPE_ERROR,
+  gl_DEBUG_TYPE_MARKER,
+  gl_DEBUG_TYPE_OTHER,
+  gl_DEBUG_TYPE_PERFORMANCE,
+  gl_DEBUG_TYPE_POP_GROUP,
+  gl_DEBUG_TYPE_PORTABILITY,
+  gl_DEBUG_TYPE_PUSH_GROUP,
+  gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_COMPONENTS,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_RENDERABLE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_STENCIL_TEXTURE_MODE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DISPATCH_INDIRECT_BUFFER,
+  gl_DISPATCH_INDIRECT_BUFFER_BINDING,
+  gl_DISPLAY_LIST,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FILTER,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAGMENT_SUBROUTINE,
+  gl_FRAGMENT_SUBROUTINE_UNIFORM,
+  gl_FRAGMENT_TEXTURE,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_BLEND,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  gl_FRAMEBUFFER_DEFAULT_HEIGHT,
+  gl_FRAMEBUFFER_DEFAULT_LAYERS,
+  gl_FRAMEBUFFER_DEFAULT_SAMPLES,
+  gl_FRAMEBUFFER_DEFAULT_WIDTH,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_RENDERABLE,
+  gl_FRAMEBUFFER_RENDERABLE_LAYERED,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FULL_SUPPORT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_SUBROUTINE,
+  gl_GEOMETRY_SUBROUTINE_UNIFORM,
+  gl_GEOMETRY_TEXTURE,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GET_TEXTURE_IMAGE_FORMAT,
+  gl_GET_TEXTURE_IMAGE_TYPE,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_HINT_BIT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CLASS_10_10_10_2,
+  gl_IMAGE_CLASS_11_11_10,
+  gl_IMAGE_CLASS_1_X_16,
+  gl_IMAGE_CLASS_1_X_32,
+  gl_IMAGE_CLASS_1_X_8,
+  gl_IMAGE_CLASS_2_X_16,
+  gl_IMAGE_CLASS_2_X_32,
+  gl_IMAGE_CLASS_2_X_8,
+  gl_IMAGE_CLASS_4_X_16,
+  gl_IMAGE_CLASS_4_X_32,
+  gl_IMAGE_CLASS_4_X_8,
+  gl_IMAGE_COMPATIBILITY_CLASS,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMAGE_PIXEL_FORMAT,
+  gl_IMAGE_PIXEL_TYPE,
+  gl_IMAGE_TEXEL_SIZE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERNALFORMAT_ALPHA_SIZE,
+  gl_INTERNALFORMAT_ALPHA_TYPE,
+  gl_INTERNALFORMAT_BLUE_SIZE,
+  gl_INTERNALFORMAT_BLUE_TYPE,
+  gl_INTERNALFORMAT_DEPTH_SIZE,
+  gl_INTERNALFORMAT_DEPTH_TYPE,
+  gl_INTERNALFORMAT_GREEN_SIZE,
+  gl_INTERNALFORMAT_GREEN_TYPE,
+  gl_INTERNALFORMAT_PREFERRED,
+  gl_INTERNALFORMAT_RED_SIZE,
+  gl_INTERNALFORMAT_RED_TYPE,
+  gl_INTERNALFORMAT_SHARED_SIZE,
+  gl_INTERNALFORMAT_STENCIL_SIZE,
+  gl_INTERNALFORMAT_STENCIL_TYPE,
+  gl_INTERNALFORMAT_SUPPORTED,
+  gl_INTERPOLATE,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_IS_PER_PATCH,
+  gl_IS_ROW_MAJOR,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOCATION,
+  gl_LOCATION_INDEX,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MANUAL_GENERATE_MIPMAP,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MATRIX_STRIDE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_DIMENSIONS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTERS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMPUTE_IMAGE_UNIFORMS,
+  gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMPUTE_UNIFORM_BLOCKS,
+  gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_WORK_GROUP_COUNT,
+  gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  gl_MAX_COMPUTE_WORK_GROUP_SIZE,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEBUG_GROUP_STACK_DEPTH,
+  gl_MAX_DEBUG_LOGGED_MESSAGES,
+  gl_MAX_DEBUG_MESSAGE_LENGTH,
+  gl_MAX_DEPTH,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_ELEMENT_INDEX,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_FRAMEBUFFER_HEIGHT,
+  gl_MAX_FRAMEBUFFER_LAYERS,
+  gl_MAX_FRAMEBUFFER_SAMPLES,
+  gl_MAX_FRAMEBUFFER_WIDTH,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_HEIGHT,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LABEL_LENGTH,
+  gl_MAX_LAYERS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_LENGTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_NUM_ACTIVE_VARIABLES,
+  gl_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_UNIFORM_LOCATIONS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_ATTRIB_BINDINGS,
+  gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MAX_WIDTH,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIPMAP,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_LENGTH,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_ACTIVE_VARIABLES,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_NUM_SHADING_LANGUAGE_VERSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_OFFSET,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_FIXED_INDEX,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_INPUT,
+  gl_PROGRAM_OUTPUT,
+  gl_PROGRAM_PIPELINE,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_PIXELS,
+  gl_READ_PIXELS_FORMAT,
+  gl_READ_PIXELS_TYPE,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFERENCED_BY_COMPUTE_SHADER,
+  gl_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_REFERENCED_BY_VERTEX_SHADER,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_IMAGE_ATOMIC,
+  gl_SHADER_IMAGE_LOAD,
+  gl_SHADER_IMAGE_STORE,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_STORAGE_BARRIER_BIT,
+  gl_SHADER_STORAGE_BLOCK,
+  gl_SHADER_STORAGE_BUFFER,
+  gl_SHADER_STORAGE_BUFFER_BINDING,
+  gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  gl_SHADER_STORAGE_BUFFER_SIZE,
+  gl_SHADER_STORAGE_BUFFER_START,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_SRGB_READ,
+  gl_SRGB_WRITE,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_COMPONENTS,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_RENDERABLE,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_CONTROL_SUBROUTINE,
+  gl_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  gl_TESS_CONTROL_TEXTURE,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_EVALUATION_SUBROUTINE,
+  gl_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  gl_TESS_EVALUATION_TEXTURE,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_BUFFER_OFFSET,
+  gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  gl_TEXTURE_BUFFER_SIZE,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  gl_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  gl_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GATHER,
+  gl_TEXTURE_GATHER_SHADOW,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMAGE_FORMAT,
+  gl_TEXTURE_IMAGE_TYPE,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_IMMUTABLE_LEVELS,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHADOW,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_VIEW,
+  gl_TEXTURE_VIEW_MIN_LAYER,
+  gl_TEXTURE_VIEW_MIN_LEVEL,
+  gl_TEXTURE_VIEW_NUM_LAYERS,
+  gl_TEXTURE_VIEW_NUM_LEVELS,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TOP_LEVEL_ARRAY_SIZE,
+  gl_TOP_LEVEL_ARRAY_STRIDE,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYING,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_TYPE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_LONG,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_BINDING,
+  gl_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_VERTEX_BINDING_BUFFER,
+  gl_VERTEX_BINDING_DIVISOR,
+  gl_VERTEX_BINDING_OFFSET,
+  gl_VERTEX_BINDING_STRIDE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VERTEX_SUBROUTINE,
+  gl_VERTEX_SUBROUTINE_UNIFORM,
+  gl_VERTEX_TEXTURE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_VIEW_CLASS_128_BITS,
+  gl_VIEW_CLASS_16_BITS,
+  gl_VIEW_CLASS_24_BITS,
+  gl_VIEW_CLASS_32_BITS,
+  gl_VIEW_CLASS_48_BITS,
+  gl_VIEW_CLASS_64_BITS,
+  gl_VIEW_CLASS_8_BITS,
+  gl_VIEW_CLASS_96_BITS,
+  gl_VIEW_CLASS_BPTC_FLOAT,
+  gl_VIEW_CLASS_BPTC_UNORM,
+  gl_VIEW_CLASS_RGTC1_RED,
+  gl_VIEW_CLASS_RGTC2_RG,
+  gl_VIEW_CLASS_S3TC_DXT1_RGB,
+  gl_VIEW_CLASS_S3TC_DXT1_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT3_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT5_RGBA,
+  gl_VIEW_COMPATIBILITY_CLASS,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBindVertexBuffer,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferData,
+  glClearBufferSubData,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyImageSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDispatchCompute,
+  glDispatchComputeIndirect,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferParameteri,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDebugMessageLog,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetFramebufferParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformati64v,
+  glGetInternalformativ,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramInterfaceiv,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceName,
+  glGetProgramResourceiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMemoryBarrier,
+  glMinSampleShading,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawArraysIndirect,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsIndirect,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glOrtho,
+  glPassThrough,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopDebugGroup,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushDebugGroup,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glReleaseShaderCompiler,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderBinary,
+  glShaderSource,
+  glShaderStorageBlockBinding,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexBufferRange,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage2DMultisample,
+  glTexStorage3D,
+  glTexStorage3DMultisample,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTextureView,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribBinding,
+  glVertexAttribDivisor,
+  glVertexAttribFormat,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIFormat,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLFormat,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexBindingDivisor,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility44.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility44.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility44.hs
@@ -0,0 +1,2700 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility44
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility44 (
+  -- * Types
+  GLDEBUGPROC,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_RESOURCES,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_VARIABLES,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ARRAY_SIZE,
+  gl_ARRAY_STRIDE,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_GENERATE_MIPMAP,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLOCK_INDEX,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_BINDING,
+  gl_BUFFER_DATA_SIZE,
+  gl_BUFFER_IMMUTABLE_STORAGE,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_STORAGE_FLAGS,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BUFFER_VARIABLE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CAVEAT_SUPPORT,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLEAR_BUFFER,
+  gl_CLEAR_TEXTURE,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_STORAGE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_COMPONENTS,
+  gl_COLOR_ENCODING,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_RENDERABLE,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_R11_EAC,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RG11_EAC,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGB8_ETC2,
+  gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA8_ETC2_EAC,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_R11_EAC,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG11_EAC,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  gl_COMPRESSED_SRGB8_ETC2,
+  gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_COMPUTE_SHADER,
+  gl_COMPUTE_SHADER_BIT,
+  gl_COMPUTE_SUBROUTINE,
+  gl_COMPUTE_SUBROUTINE_UNIFORM,
+  gl_COMPUTE_TEXTURE,
+  gl_COMPUTE_WORK_GROUP_SIZE,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_DEBUG_BIT,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DEBUG_CALLBACK_FUNCTION,
+  gl_DEBUG_CALLBACK_USER_PARAM,
+  gl_DEBUG_GROUP_STACK_DEPTH,
+  gl_DEBUG_LOGGED_MESSAGES,
+  gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  gl_DEBUG_OUTPUT,
+  gl_DEBUG_OUTPUT_SYNCHRONOUS,
+  gl_DEBUG_SEVERITY_HIGH,
+  gl_DEBUG_SEVERITY_LOW,
+  gl_DEBUG_SEVERITY_MEDIUM,
+  gl_DEBUG_SEVERITY_NOTIFICATION,
+  gl_DEBUG_SOURCE_API,
+  gl_DEBUG_SOURCE_APPLICATION,
+  gl_DEBUG_SOURCE_OTHER,
+  gl_DEBUG_SOURCE_SHADER_COMPILER,
+  gl_DEBUG_SOURCE_THIRD_PARTY,
+  gl_DEBUG_SOURCE_WINDOW_SYSTEM,
+  gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  gl_DEBUG_TYPE_ERROR,
+  gl_DEBUG_TYPE_MARKER,
+  gl_DEBUG_TYPE_OTHER,
+  gl_DEBUG_TYPE_PERFORMANCE,
+  gl_DEBUG_TYPE_POP_GROUP,
+  gl_DEBUG_TYPE_PORTABILITY,
+  gl_DEBUG_TYPE_PUSH_GROUP,
+  gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_COMPONENTS,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_RENDERABLE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_STENCIL_TEXTURE_MODE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DISPATCH_INDIRECT_BUFFER,
+  gl_DISPATCH_INDIRECT_BUFFER_BINDING,
+  gl_DISPLAY_LIST,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_DYNAMIC_STORAGE_BIT,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FILTER,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAGMENT_SUBROUTINE,
+  gl_FRAGMENT_SUBROUTINE_UNIFORM,
+  gl_FRAGMENT_TEXTURE,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_BLEND,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  gl_FRAMEBUFFER_DEFAULT_HEIGHT,
+  gl_FRAMEBUFFER_DEFAULT_LAYERS,
+  gl_FRAMEBUFFER_DEFAULT_SAMPLES,
+  gl_FRAMEBUFFER_DEFAULT_WIDTH,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_RENDERABLE,
+  gl_FRAMEBUFFER_RENDERABLE_LAYERED,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FULL_SUPPORT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_SUBROUTINE,
+  gl_GEOMETRY_SUBROUTINE_UNIFORM,
+  gl_GEOMETRY_TEXTURE,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GET_TEXTURE_IMAGE_FORMAT,
+  gl_GET_TEXTURE_IMAGE_TYPE,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_HINT_BIT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CLASS_10_10_10_2,
+  gl_IMAGE_CLASS_11_11_10,
+  gl_IMAGE_CLASS_1_X_16,
+  gl_IMAGE_CLASS_1_X_32,
+  gl_IMAGE_CLASS_1_X_8,
+  gl_IMAGE_CLASS_2_X_16,
+  gl_IMAGE_CLASS_2_X_32,
+  gl_IMAGE_CLASS_2_X_8,
+  gl_IMAGE_CLASS_4_X_16,
+  gl_IMAGE_CLASS_4_X_32,
+  gl_IMAGE_CLASS_4_X_8,
+  gl_IMAGE_COMPATIBILITY_CLASS,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMAGE_PIXEL_FORMAT,
+  gl_IMAGE_PIXEL_TYPE,
+  gl_IMAGE_TEXEL_SIZE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERNALFORMAT_ALPHA_SIZE,
+  gl_INTERNALFORMAT_ALPHA_TYPE,
+  gl_INTERNALFORMAT_BLUE_SIZE,
+  gl_INTERNALFORMAT_BLUE_TYPE,
+  gl_INTERNALFORMAT_DEPTH_SIZE,
+  gl_INTERNALFORMAT_DEPTH_TYPE,
+  gl_INTERNALFORMAT_GREEN_SIZE,
+  gl_INTERNALFORMAT_GREEN_TYPE,
+  gl_INTERNALFORMAT_PREFERRED,
+  gl_INTERNALFORMAT_RED_SIZE,
+  gl_INTERNALFORMAT_RED_TYPE,
+  gl_INTERNALFORMAT_SHARED_SIZE,
+  gl_INTERNALFORMAT_STENCIL_SIZE,
+  gl_INTERNALFORMAT_STENCIL_TYPE,
+  gl_INTERNALFORMAT_SUPPORTED,
+  gl_INTERPOLATE,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_IS_PER_PATCH,
+  gl_IS_ROW_MAJOR,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOCATION,
+  gl_LOCATION_COMPONENT,
+  gl_LOCATION_INDEX,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MANUAL_GENERATE_MIPMAP,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COHERENT_BIT,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_PERSISTENT_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MATRIX_STRIDE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_DIMENSIONS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTERS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMPUTE_IMAGE_UNIFORMS,
+  gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMPUTE_UNIFORM_BLOCKS,
+  gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_WORK_GROUP_COUNT,
+  gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  gl_MAX_COMPUTE_WORK_GROUP_SIZE,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEBUG_GROUP_STACK_DEPTH,
+  gl_MAX_DEBUG_LOGGED_MESSAGES,
+  gl_MAX_DEBUG_MESSAGE_LENGTH,
+  gl_MAX_DEPTH,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_ELEMENT_INDEX,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_FRAMEBUFFER_HEIGHT,
+  gl_MAX_FRAMEBUFFER_LAYERS,
+  gl_MAX_FRAMEBUFFER_SAMPLES,
+  gl_MAX_FRAMEBUFFER_WIDTH,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_HEIGHT,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LABEL_LENGTH,
+  gl_MAX_LAYERS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_LENGTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_NUM_ACTIVE_VARIABLES,
+  gl_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_UNIFORM_LOCATIONS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_ATTRIB_BINDINGS,
+  gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_MAX_VERTEX_ATTRIB_STRIDE,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MAX_WIDTH,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIPMAP,
+  gl_MIRRORED_REPEAT,
+  gl_MIRROR_CLAMP_TO_EDGE,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_LENGTH,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_ACTIVE_VARIABLES,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_NUM_SHADING_LANGUAGE_VERSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_OFFSET,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_FIXED_INDEX,
+  gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_INPUT,
+  gl_PROGRAM_OUTPUT,
+  gl_PROGRAM_PIPELINE,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY,
+  gl_QUERY_BUFFER,
+  gl_QUERY_BUFFER_BARRIER_BIT,
+  gl_QUERY_BUFFER_BINDING,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_RESULT_NO_WAIT,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_PIXELS,
+  gl_READ_PIXELS_FORMAT,
+  gl_READ_PIXELS_TYPE,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFERENCED_BY_COMPUTE_SHADER,
+  gl_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_REFERENCED_BY_VERTEX_SHADER,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_IMAGE_ATOMIC,
+  gl_SHADER_IMAGE_LOAD,
+  gl_SHADER_IMAGE_STORE,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_STORAGE_BARRIER_BIT,
+  gl_SHADER_STORAGE_BLOCK,
+  gl_SHADER_STORAGE_BUFFER,
+  gl_SHADER_STORAGE_BUFFER_BINDING,
+  gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  gl_SHADER_STORAGE_BUFFER_SIZE,
+  gl_SHADER_STORAGE_BUFFER_START,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_SRGB_READ,
+  gl_SRGB_WRITE,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_COMPONENTS,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_RENDERABLE,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_CONTROL_SUBROUTINE,
+  gl_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  gl_TESS_CONTROL_TEXTURE,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_EVALUATION_SUBROUTINE,
+  gl_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  gl_TESS_EVALUATION_TEXTURE,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_BINDING,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_BUFFER_OFFSET,
+  gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  gl_TEXTURE_BUFFER_SIZE,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  gl_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  gl_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GATHER,
+  gl_TEXTURE_GATHER_SHADOW,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMAGE_FORMAT,
+  gl_TEXTURE_IMAGE_TYPE,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_IMMUTABLE_LEVELS,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHADOW,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_VIEW,
+  gl_TEXTURE_VIEW_MIN_LAYER,
+  gl_TEXTURE_VIEW_MIN_LEVEL,
+  gl_TEXTURE_VIEW_NUM_LAYERS,
+  gl_TEXTURE_VIEW_NUM_LEVELS,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TOP_LEVEL_ARRAY_SIZE,
+  gl_TOP_LEVEL_ARRAY_STRIDE,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYING,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_TYPE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_LONG,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_BINDING,
+  gl_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_VERTEX_BINDING_BUFFER,
+  gl_VERTEX_BINDING_DIVISOR,
+  gl_VERTEX_BINDING_OFFSET,
+  gl_VERTEX_BINDING_STRIDE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VERTEX_SUBROUTINE,
+  gl_VERTEX_SUBROUTINE_UNIFORM,
+  gl_VERTEX_TEXTURE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_VIEW_CLASS_128_BITS,
+  gl_VIEW_CLASS_16_BITS,
+  gl_VIEW_CLASS_24_BITS,
+  gl_VIEW_CLASS_32_BITS,
+  gl_VIEW_CLASS_48_BITS,
+  gl_VIEW_CLASS_64_BITS,
+  gl_VIEW_CLASS_8_BITS,
+  gl_VIEW_CLASS_96_BITS,
+  gl_VIEW_CLASS_BPTC_FLOAT,
+  gl_VIEW_CLASS_BPTC_UNORM,
+  gl_VIEW_CLASS_RGTC1_RED,
+  gl_VIEW_CLASS_RGTC2_RG,
+  gl_VIEW_CLASS_S3TC_DXT1_RGB,
+  gl_VIEW_CLASS_S3TC_DXT1_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT3_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT5_RGBA,
+  gl_VIEW_COMPATIBILITY_CLASS,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindBuffersBase,
+  glBindBuffersRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindImageTextures,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindSamplers,
+  glBindTexture,
+  glBindTextures,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBindVertexBuffer,
+  glBindVertexBuffers,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferStorage,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferData,
+  glClearBufferSubData,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearIndex,
+  glClearStencil,
+  glClearTexImage,
+  glClearTexSubImage,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyImageSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDispatchCompute,
+  glDispatchComputeIndirect,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferParameteri,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDebugMessageLog,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetFramebufferParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformati64v,
+  glGetInternalformativ,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramInterfaceiv,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceName,
+  glGetProgramResourceiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMemoryBarrier,
+  glMinSampleShading,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawArraysIndirect,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsIndirect,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glOrtho,
+  glPassThrough,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopDebugGroup,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushDebugGroup,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glReleaseShaderCompiler,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderBinary,
+  glShaderSource,
+  glShaderStorageBlockBinding,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexBufferRange,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage2DMultisample,
+  glTexStorage3D,
+  glTexStorage3DMultisample,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTextureView,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribBinding,
+  glVertexAttribDivisor,
+  glVertexAttribFormat,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIFormat,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLFormat,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexBindingDivisor,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility45.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility45.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Compatibility45.hs
@@ -0,0 +1,2844 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Compatibility45
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Compatibility45 (
+  -- * Types
+  GLDEBUGPROC,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_RESOURCES,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_VARIABLES,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ARRAY_SIZE,
+  gl_ARRAY_STRIDE,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_GENERATE_MIPMAP,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLOCK_INDEX,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_BINDING,
+  gl_BUFFER_DATA_SIZE,
+  gl_BUFFER_IMMUTABLE_STORAGE,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_STORAGE_FLAGS,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BUFFER_VARIABLE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CAVEAT_SUPPORT,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLEAR_BUFFER,
+  gl_CLEAR_TEXTURE,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_STORAGE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DEPTH_MODE,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_ORIGIN,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_COMPONENTS,
+  gl_COLOR_ENCODING,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_RENDERABLE,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_R11_EAC,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RG11_EAC,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGB8_ETC2,
+  gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA8_ETC2_EAC,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_R11_EAC,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG11_EAC,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  gl_COMPRESSED_SRGB8_ETC2,
+  gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_COMPUTE_SHADER,
+  gl_COMPUTE_SHADER_BIT,
+  gl_COMPUTE_SUBROUTINE,
+  gl_COMPUTE_SUBROUTINE_UNIFORM,
+  gl_COMPUTE_TEXTURE,
+  gl_COMPUTE_WORK_GROUP_SIZE,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_DEBUG_BIT,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT,
+  gl_CONTEXT_LOST,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_CONTEXT_RELEASE_BEHAVIOR,
+  gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DEBUG_CALLBACK_FUNCTION,
+  gl_DEBUG_CALLBACK_USER_PARAM,
+  gl_DEBUG_GROUP_STACK_DEPTH,
+  gl_DEBUG_LOGGED_MESSAGES,
+  gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  gl_DEBUG_OUTPUT,
+  gl_DEBUG_OUTPUT_SYNCHRONOUS,
+  gl_DEBUG_SEVERITY_HIGH,
+  gl_DEBUG_SEVERITY_LOW,
+  gl_DEBUG_SEVERITY_MEDIUM,
+  gl_DEBUG_SEVERITY_NOTIFICATION,
+  gl_DEBUG_SOURCE_API,
+  gl_DEBUG_SOURCE_APPLICATION,
+  gl_DEBUG_SOURCE_OTHER,
+  gl_DEBUG_SOURCE_SHADER_COMPILER,
+  gl_DEBUG_SOURCE_THIRD_PARTY,
+  gl_DEBUG_SOURCE_WINDOW_SYSTEM,
+  gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  gl_DEBUG_TYPE_ERROR,
+  gl_DEBUG_TYPE_MARKER,
+  gl_DEBUG_TYPE_OTHER,
+  gl_DEBUG_TYPE_PERFORMANCE,
+  gl_DEBUG_TYPE_POP_GROUP,
+  gl_DEBUG_TYPE_PORTABILITY,
+  gl_DEBUG_TYPE_PUSH_GROUP,
+  gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_COMPONENTS,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_RENDERABLE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_STENCIL_TEXTURE_MODE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DISPATCH_INDIRECT_BUFFER,
+  gl_DISPATCH_INDIRECT_BUFFER_BINDING,
+  gl_DISPLAY_LIST,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_DYNAMIC_STORAGE_BIT,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FILTER,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAGMENT_SUBROUTINE,
+  gl_FRAGMENT_SUBROUTINE_UNIFORM,
+  gl_FRAGMENT_TEXTURE,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_BLEND,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  gl_FRAMEBUFFER_DEFAULT_HEIGHT,
+  gl_FRAMEBUFFER_DEFAULT_LAYERS,
+  gl_FRAMEBUFFER_DEFAULT_SAMPLES,
+  gl_FRAMEBUFFER_DEFAULT_WIDTH,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_RENDERABLE,
+  gl_FRAMEBUFFER_RENDERABLE_LAYERED,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FULL_SUPPORT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_SUBROUTINE,
+  gl_GEOMETRY_SUBROUTINE_UNIFORM,
+  gl_GEOMETRY_TEXTURE,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GET_TEXTURE_IMAGE_FORMAT,
+  gl_GET_TEXTURE_IMAGE_TYPE,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_GUILTY_CONTEXT_RESET,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_HINT_BIT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CLASS_10_10_10_2,
+  gl_IMAGE_CLASS_11_11_10,
+  gl_IMAGE_CLASS_1_X_16,
+  gl_IMAGE_CLASS_1_X_32,
+  gl_IMAGE_CLASS_1_X_8,
+  gl_IMAGE_CLASS_2_X_16,
+  gl_IMAGE_CLASS_2_X_32,
+  gl_IMAGE_CLASS_2_X_8,
+  gl_IMAGE_CLASS_4_X_16,
+  gl_IMAGE_CLASS_4_X_32,
+  gl_IMAGE_CLASS_4_X_8,
+  gl_IMAGE_COMPATIBILITY_CLASS,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMAGE_PIXEL_FORMAT,
+  gl_IMAGE_PIXEL_TYPE,
+  gl_IMAGE_TEXEL_SIZE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INNOCENT_CONTEXT_RESET,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERNALFORMAT_ALPHA_SIZE,
+  gl_INTERNALFORMAT_ALPHA_TYPE,
+  gl_INTERNALFORMAT_BLUE_SIZE,
+  gl_INTERNALFORMAT_BLUE_TYPE,
+  gl_INTERNALFORMAT_DEPTH_SIZE,
+  gl_INTERNALFORMAT_DEPTH_TYPE,
+  gl_INTERNALFORMAT_GREEN_SIZE,
+  gl_INTERNALFORMAT_GREEN_TYPE,
+  gl_INTERNALFORMAT_PREFERRED,
+  gl_INTERNALFORMAT_RED_SIZE,
+  gl_INTERNALFORMAT_RED_TYPE,
+  gl_INTERNALFORMAT_SHARED_SIZE,
+  gl_INTERNALFORMAT_STENCIL_SIZE,
+  gl_INTERNALFORMAT_STENCIL_TYPE,
+  gl_INTERNALFORMAT_SUPPORTED,
+  gl_INTERPOLATE,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_IS_PER_PATCH,
+  gl_IS_ROW_MAJOR,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOCATION,
+  gl_LOCATION_COMPONENT,
+  gl_LOCATION_INDEX,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOSE_CONTEXT_ON_RESET,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MANUAL_GENERATE_MIPMAP,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COHERENT_BIT,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_PERSISTENT_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MATRIX_STRIDE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES,
+  gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_DIMENSIONS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTERS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMPUTE_IMAGE_UNIFORMS,
+  gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMPUTE_UNIFORM_BLOCKS,
+  gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_WORK_GROUP_COUNT,
+  gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  gl_MAX_COMPUTE_WORK_GROUP_SIZE,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_CULL_DISTANCES,
+  gl_MAX_DEBUG_GROUP_STACK_DEPTH,
+  gl_MAX_DEBUG_LOGGED_MESSAGES,
+  gl_MAX_DEBUG_MESSAGE_LENGTH,
+  gl_MAX_DEPTH,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_ELEMENT_INDEX,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_FRAMEBUFFER_HEIGHT,
+  gl_MAX_FRAMEBUFFER_LAYERS,
+  gl_MAX_FRAMEBUFFER_SAMPLES,
+  gl_MAX_FRAMEBUFFER_WIDTH,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_HEIGHT,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LABEL_LENGTH,
+  gl_MAX_LAYERS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_LENGTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_NUM_ACTIVE_VARIABLES,
+  gl_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_UNIFORM_LOCATIONS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_ATTRIB_BINDINGS,
+  gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_MAX_VERTEX_ATTRIB_STRIDE,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MAX_WIDTH,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIPMAP,
+  gl_MIRRORED_REPEAT,
+  gl_MIRROR_CLAMP_TO_EDGE,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_LENGTH,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEGATIVE_ONE_TO_ONE,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NO_RESET_NOTIFICATION,
+  gl_NUM_ACTIVE_VARIABLES,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_NUM_SHADING_LANGUAGE_VERSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_OBJECT_TYPE,
+  gl_OFFSET,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_FIXED_INDEX,
+  gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_INPUT,
+  gl_PROGRAM_OUTPUT,
+  gl_PROGRAM_PIPELINE,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUAD_STRIP,
+  gl_QUERY,
+  gl_QUERY_BUFFER,
+  gl_QUERY_BUFFER_BARRIER_BIT,
+  gl_QUERY_BUFFER_BINDING,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_NO_WAIT_INVERTED,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_BY_REGION_WAIT_INVERTED,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_NO_WAIT_INVERTED,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_RESULT_NO_WAIT,
+  gl_QUERY_TARGET,
+  gl_QUERY_WAIT,
+  gl_QUERY_WAIT_INVERTED,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_PIXELS,
+  gl_READ_PIXELS_FORMAT,
+  gl_READ_PIXELS_TYPE,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFERENCED_BY_COMPUTE_SHADER,
+  gl_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_REFERENCED_BY_VERTEX_SHADER,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RESET_NOTIFICATION_STRATEGY,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_IMAGE_ATOMIC,
+  gl_SHADER_IMAGE_LOAD,
+  gl_SHADER_IMAGE_STORE,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_STORAGE_BARRIER_BIT,
+  gl_SHADER_STORAGE_BLOCK,
+  gl_SHADER_STORAGE_BUFFER,
+  gl_SHADER_STORAGE_BUFFER_BINDING,
+  gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  gl_SHADER_STORAGE_BUFFER_SIZE,
+  gl_SHADER_STORAGE_BUFFER_START,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_SRGB_READ,
+  gl_SRGB_WRITE,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_COMPONENTS,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_RENDERABLE,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_CONTROL_SUBROUTINE,
+  gl_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  gl_TESS_CONTROL_TEXTURE,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_EVALUATION_SUBROUTINE,
+  gl_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  gl_TESS_EVALUATION_TEXTURE,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_BINDING,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_BUFFER_OFFSET,
+  gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  gl_TEXTURE_BUFFER_SIZE,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  gl_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  gl_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GATHER,
+  gl_TEXTURE_GATHER_SHADOW,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMAGE_FORMAT,
+  gl_TEXTURE_IMAGE_TYPE,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_IMMUTABLE_LEVELS,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTENSITY_TYPE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_LUMINANCE_TYPE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHADOW,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_TARGET,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_VIEW,
+  gl_TEXTURE_VIEW_MIN_LAYER,
+  gl_TEXTURE_VIEW_MIN_LEVEL,
+  gl_TEXTURE_VIEW_NUM_LAYERS,
+  gl_TEXTURE_VIEW_NUM_LEVELS,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TOP_LEVEL_ARRAY_SIZE,
+  gl_TOP_LEVEL_ARRAY_STRIDE,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYING,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_TYPE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNKNOWN_CONTEXT_RESET,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_LONG,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_BINDING,
+  gl_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_VERTEX_BINDING_BUFFER,
+  gl_VERTEX_BINDING_DIVISOR,
+  gl_VERTEX_BINDING_OFFSET,
+  gl_VERTEX_BINDING_STRIDE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VERTEX_SUBROUTINE,
+  gl_VERTEX_SUBROUTINE_UNIFORM,
+  gl_VERTEX_TEXTURE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_VIEW_CLASS_128_BITS,
+  gl_VIEW_CLASS_16_BITS,
+  gl_VIEW_CLASS_24_BITS,
+  gl_VIEW_CLASS_32_BITS,
+  gl_VIEW_CLASS_48_BITS,
+  gl_VIEW_CLASS_64_BITS,
+  gl_VIEW_CLASS_8_BITS,
+  gl_VIEW_CLASS_96_BITS,
+  gl_VIEW_CLASS_BPTC_FLOAT,
+  gl_VIEW_CLASS_BPTC_UNORM,
+  gl_VIEW_CLASS_RGTC1_RED,
+  gl_VIEW_CLASS_RGTC2_RG,
+  gl_VIEW_CLASS_S3TC_DXT1_RGB,
+  gl_VIEW_CLASS_S3TC_DXT1_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT3_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT5_RGBA,
+  gl_VIEW_COMPATIBILITY_CLASS,
+  gl_WAIT_FAILED,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZERO_TO_ONE,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindBuffersBase,
+  glBindBuffersRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindImageTextures,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindSamplers,
+  glBindTexture,
+  glBindTextureUnit,
+  glBindTextures,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBindVertexBuffer,
+  glBindVertexBuffers,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBlitNamedFramebuffer,
+  glBufferData,
+  glBufferStorage,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glCheckNamedFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferData,
+  glClearBufferSubData,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearIndex,
+  glClearNamedBufferData,
+  glClearNamedBufferSubData,
+  glClearNamedFramebufferfi,
+  glClearNamedFramebufferfv,
+  glClearNamedFramebufferiv,
+  glClearNamedFramebufferuiv,
+  glClearStencil,
+  glClearTexImage,
+  glClearTexSubImage,
+  glClientActiveTexture,
+  glClientWaitSync,
+  glClipControl,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCompressedTextureSubImage1D,
+  glCompressedTextureSubImage2D,
+  glCompressedTextureSubImage3D,
+  glCopyBufferSubData,
+  glCopyImageSubData,
+  glCopyNamedBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCopyTextureSubImage1D,
+  glCopyTextureSubImage2D,
+  glCopyTextureSubImage3D,
+  glCreateBuffers,
+  glCreateFramebuffers,
+  glCreateProgram,
+  glCreateProgramPipelines,
+  glCreateQueries,
+  glCreateRenderbuffers,
+  glCreateSamplers,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCreateTextures,
+  glCreateTransformFeedbacks,
+  glCreateVertexArrays,
+  glCullFace,
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexArrayAttrib,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDispatchCompute,
+  glDispatchComputeIndirect,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawPixels,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexArrayAttrib,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFlushMappedNamedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferParameteri,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGenerateTextureMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetCompressedTextureImage,
+  glGetCompressedTextureSubImage,
+  glGetDebugMessageLog,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetFramebufferParameteriv,
+  glGetGraphicsResetStatus,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformati64v,
+  glGetInternalformativ,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMultisamplefv,
+  glGetNamedBufferParameteri64v,
+  glGetNamedBufferParameteriv,
+  glGetNamedBufferPointerv,
+  glGetNamedBufferSubData,
+  glGetNamedFramebufferAttachmentParameteriv,
+  glGetNamedFramebufferParameteriv,
+  glGetNamedRenderbufferParameteriv,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramInterfaceiv,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceName,
+  glGetProgramResourceiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryBufferObjecti64v,
+  glGetQueryBufferObjectiv,
+  glGetQueryBufferObjectui64v,
+  glGetQueryBufferObjectuiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTextureImage,
+  glGetTextureLevelParameterfv,
+  glGetTextureLevelParameteriv,
+  glGetTextureParameterIiv,
+  glGetTextureParameterIuiv,
+  glGetTextureParameterfv,
+  glGetTextureParameteriv,
+  glGetTextureSubImage,
+  glGetTransformFeedbackVarying,
+  glGetTransformFeedbacki64_v,
+  glGetTransformFeedbacki_v,
+  glGetTransformFeedbackiv,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexArrayIndexed64iv,
+  glGetVertexArrayIndexediv,
+  glGetVertexArrayiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glGetnColorTable,
+  glGetnCompressedTexImage,
+  glGetnConvolutionFilter,
+  glGetnHistogram,
+  glGetnMapdv,
+  glGetnMapfv,
+  glGetnMapiv,
+  glGetnMinmax,
+  glGetnPixelMapfv,
+  glGetnPixelMapuiv,
+  glGetnPixelMapusv,
+  glGetnPolygonStipple,
+  glGetnSeparableFilter,
+  glGetnTexImage,
+  glGetnUniformdv,
+  glGetnUniformfv,
+  glGetnUniformiv,
+  glGetnUniformuiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateNamedFramebufferData,
+  glInvalidateNamedFramebufferSubData,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMapNamedBuffer,
+  glMapNamedBufferRange,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMemoryBarrier,
+  glMemoryBarrierByRegion,
+  glMinSampleShading,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawArraysIndirect,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsIndirect,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNamedBufferData,
+  glNamedBufferStorage,
+  glNamedBufferSubData,
+  glNamedFramebufferDrawBuffer,
+  glNamedFramebufferDrawBuffers,
+  glNamedFramebufferParameteri,
+  glNamedFramebufferReadBuffer,
+  glNamedFramebufferRenderbuffer,
+  glNamedFramebufferTexture,
+  glNamedFramebufferTextureLayer,
+  glNamedRenderbufferStorage,
+  glNamedRenderbufferStorageMultisample,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glOrtho,
+  glPassThrough,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopDebugGroup,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushDebugGroup,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glReadnPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glReleaseShaderCompiler,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderBinary,
+  glShaderSource,
+  glShaderStorageBlockBinding,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexBufferRange,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage2DMultisample,
+  glTexStorage3D,
+  glTexStorage3DMultisample,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTextureBarrier,
+  glTextureBuffer,
+  glTextureBufferRange,
+  glTextureParameterIiv,
+  glTextureParameterIuiv,
+  glTextureParameterf,
+  glTextureParameterfv,
+  glTextureParameteri,
+  glTextureParameteriv,
+  glTextureStorage1D,
+  glTextureStorage2D,
+  glTextureStorage2DMultisample,
+  glTextureStorage3D,
+  glTextureStorage3DMultisample,
+  glTextureSubImage1D,
+  glTextureSubImage2D,
+  glTextureSubImage3D,
+  glTextureView,
+  glTransformFeedbackBufferBase,
+  glTransformFeedbackBufferRange,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUnmapNamedBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexArrayAttribBinding,
+  glVertexArrayAttribFormat,
+  glVertexArrayAttribIFormat,
+  glVertexArrayAttribLFormat,
+  glVertexArrayBindingDivisor,
+  glVertexArrayElementBuffer,
+  glVertexArrayVertexBuffer,
+  glVertexArrayVertexBuffers,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribBinding,
+  glVertexAttribDivisor,
+  glVertexAttribFormat,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIFormat,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLFormat,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexBindingDivisor,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core30.hs b/src/Graphics/Rendering/OpenGL/Raw/Core30.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core30.hs
@@ -0,0 +1,1763 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core30
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core30 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindTexture,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteShader,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsShader,
+  glIsTexture,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribPointer,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core31.hs
@@ -1,42 +1,1836 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.Core31
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31 (
-   -- * Functions
-   module Graphics.Rendering.OpenGL.Raw.Core31.Functions,
-   -- * Tokens
-   module Graphics.Rendering.OpenGL.Raw.Core31.Tokens,
-   -- * Types
-   module Graphics.Rendering.OpenGL.Raw.Core31.Types,
-   -- * Extensions promoted to OpenGL 3.1 core
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
-   module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
-   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Functions
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
-import Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
-import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject hiding (
-   gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
-   gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
-   gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER )
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core31 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_INTEGER,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_INTEGER,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_FRAGMENT_COLOR,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLAMP_VERTEX_COLOR,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FIXED_ONLY,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_INTEGER,
+  gl_GREEN_SCALE,
+  gl_HALF_FLOAT,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERPOLATE,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAJOR_VERSION,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_STENCIL,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_INTEGER,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGBA_MODE,
+  gl_RGB_INTEGER,
+  gl_RGB_SCALE,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_ATTRIBS,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SIGNED_NORMALIZED,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindTexture,
+  glBindVertexArray,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearAccum,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaski,
+  glColorMaterial,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteShader,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsInstanced,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEnd,
+  glEndConditionalRender,
+  glEndList,
+  glEndQuery,
+  glEndTransformFeedback,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenLists,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsShader,
+  glIsTexture,
+  glIsVertexArray,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrimitiveRestartIndex,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribPointer,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
+++ /dev/null
@@ -1,598 +0,0 @@
-{-# LANGUAGE CPP #-}
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Functions
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the OpenGL 3.1 core, see
--- <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31.Functions (
-   glActiveTexture,
-   glAttachShader,
-   glBeginConditionalRender,
-   glBeginQuery,
-   glBeginTransformFeedback,
-   glBindAttribLocation,
-   glBindBuffer,
-   glBindFragDataLocation,
-   glBindFramebuffer,
-   glBindRenderbuffer,
-   glBindTexture,
-   glBindVertexArray,
-   glBlendColor,
-   glBlendEquation,
-   glBlendEquationSeparate,
-   glBlendFunc,
-   glBlendFuncSeparate,
-   glBlitFramebuffer,
-   glBufferData,
-   glBufferSubData,
-   glCheckFramebufferStatus,
-   glClampColor,
-   glClear,
-   glClearBufferfi,
-   glClearBufferfv,
-   glClearBufferiv,
-   glClearBufferuiv,
-   glClearColor,
-   glClearDepth,
-   glClearStencil,
-   glColorMask,
-   glColorMaski,
-   glCompileShader,
-   glCompressedTexImage1D,
-   glCompressedTexImage2D,
-   glCompressedTexImage3D,
-   glCompressedTexSubImage1D,
-   glCompressedTexSubImage2D,
-   glCompressedTexSubImage3D,
-   glCopyTexImage1D,
-   glCopyTexImage2D,
-   glCopyTexSubImage1D,
-   glCopyTexSubImage2D,
-   glCopyTexSubImage3D,
-   glCreateProgram,
-   glCreateShader,
-   glCullFace,
-   glDeleteBuffers,
-   glDeleteFramebuffers,
-   glDeleteProgram,
-   glDeleteQueries,
-   glDeleteRenderbuffers,
-   glDeleteShader,
-   glDeleteTextures,
-   glDeleteVertexArrays,
-   glDepthFunc,
-   glDepthMask,
-   glDepthRange,
-   glDetachShader,
-   glDisable,
-   glDisableVertexAttribArray,
-   glDisablei,
-   glDrawArrays,
-   glDrawBuffer,
-   glDrawBuffers,
-   glDrawElements,
-   glDrawRangeElements,
-   glEnable,
-   glEnableVertexAttribArray,
-   glEnablei,
-   glEndConditionalRender,
-   glEndQuery,
-   glEndTransformFeedback,
-   glFinish,
-   glFlush,
-   glFlushMappedBufferRange,
-   glFramebufferRenderbuffer,
-   glFramebufferTexture1D,
-   glFramebufferTexture2D,
-   glFramebufferTexture3D,
-   glFramebufferTextureLayer,
-   glFrontFace,
-   glGenBuffers,
-   glGenFramebuffers,
-   glGenQueries,
-   glGenRenderbuffers,
-   glGenTextures,
-   glGenVertexArrays,
-   glGenerateMipmap,
-   glGetActiveAttrib,
-   glGetActiveUniform,
-   glGetAttachedShaders,
-   glGetAttribLocation,
-   glGetBooleani_v,
-   glGetBooleanv,
-   glGetBufferParameteriv,
-   glGetBufferPointerv,
-   glGetBufferSubData,
-   glGetCompressedTexImage,
-   glGetDoublev,
-   glGetError,
-   glGetFloatv,
-   glGetFragDataLocation,
-   glGetFramebufferAttachmentParameteriv,
-   glGetIntegerv,
-   glGetPointerv,
-   glGetProgramInfoLog,
-   glGetProgramiv,
-   glGetQueryObjectiv,
-   glGetQueryObjectuiv,
-   glGetQueryiv,
-   glGetRenderbufferParameteriv,
-   glGetShaderInfoLog,
-   glGetShaderSource,
-   glGetShaderiv,
-   glGetString,
-   glGetStringi,
-   glGetTexImage,
-   glGetTexLevelParameterfv,
-   glGetTexLevelParameteriv,
-   glGetTexParameterIiv,
-   glGetTexParameterIuiv,
-   glGetTexParameterfv,
-   glGetTexParameteriv,
-   glGetTransformFeedbackVarying,
-   glGetUniformLocation,
-   glGetUniformfv,
-   glGetUniformiv,
-   glGetUniformuiv,
-   glGetVertexAttribIiv,
-   glGetVertexAttribIuiv,
-   glGetVertexAttribPointerv,
-   glGetVertexAttribdv,
-   glGetVertexAttribfv,
-   glGetVertexAttribiv,
-   glHint,
-   glIsBuffer,
-   glIsEnabled,
-   glIsEnabledi,
-   glIsFramebuffer,
-   glIsProgram,
-   glIsQuery,
-   glIsRenderbuffer,
-   glIsShader,
-   glIsTexture,
-   glIsVertexArray,
-   glLineWidth,
-   glLinkProgram,
-   glLogicOp,
-   glMapBuffer,
-   glMapBufferRange,
-   glMultiDrawArrays,
-   glMultiDrawElements,
-   glPixelStoref,
-   glPixelStorei,
-   glPointParameterf,
-   glPointParameterfv,
-   glPointParameteri,
-   glPointParameteriv,
-   glPointSize,
-   glPolygonMode,
-   glPolygonOffset,
-   glPrimitiveRestartIndex,
-   glReadBuffer,
-   glReadPixels,
-   glRenderbufferStorage,
-   glRenderbufferStorageMultisample,
-   glSampleCoverage,
-   glScissor,
-   glShaderSource,
-   glStencilFunc,
-   glStencilFuncSeparate,
-   glStencilMask,
-   glStencilMaskSeparate,
-   glStencilOp,
-   glStencilOpSeparate,
-   glTexImage1D,
-   glTexImage2D,
-   glTexImage3D,
-   glTexParameterIiv,
-   glTexParameterIuiv,
-   glTexParameterf,
-   glTexParameterfv,
-   glTexParameteri,
-   glTexParameteriv,
-   glTexSubImage1D,
-   glTexSubImage2D,
-   glTexSubImage3D,
-   glTransformFeedbackVaryings,
-   glUniform1f,
-   glUniform1fv,
-   glUniform1i,
-   glUniform1iv,
-   glUniform1ui,
-   glUniform1uiv,
-   glUniform2f,
-   glUniform2fv,
-   glUniform2i,
-   glUniform2iv,
-   glUniform2ui,
-   glUniform2uiv,
-   glUniform3f,
-   glUniform3fv,
-   glUniform3i,
-   glUniform3iv,
-   glUniform3ui,
-   glUniform3uiv,
-   glUniform4f,
-   glUniform4fv,
-   glUniform4i,
-   glUniform4iv,
-   glUniform4ui,
-   glUniform4uiv,
-   glUniformMatrix2fv,
-   glUniformMatrix2x3fv,
-   glUniformMatrix2x4fv,
-   glUniformMatrix3fv,
-   glUniformMatrix3x2fv,
-   glUniformMatrix3x4fv,
-   glUniformMatrix4fv,
-   glUniformMatrix4x2fv,
-   glUniformMatrix4x3fv,
-   glUnmapBuffer,
-   glUseProgram,
-   glValidateProgram,
-   glVertexAttrib1d,
-   glVertexAttrib1dv,
-   glVertexAttrib1f,
-   glVertexAttrib1fv,
-   glVertexAttrib1s,
-   glVertexAttrib1sv,
-   glVertexAttrib2d,
-   glVertexAttrib2dv,
-   glVertexAttrib2f,
-   glVertexAttrib2fv,
-   glVertexAttrib2s,
-   glVertexAttrib2sv,
-   glVertexAttrib3d,
-   glVertexAttrib3dv,
-   glVertexAttrib3f,
-   glVertexAttrib3fv,
-   glVertexAttrib3s,
-   glVertexAttrib3sv,
-   glVertexAttrib4Nbv,
-   glVertexAttrib4Niv,
-   glVertexAttrib4Nsv,
-   glVertexAttrib4Nub,
-   glVertexAttrib4Nubv,
-   glVertexAttrib4Nuiv,
-   glVertexAttrib4Nusv,
-   glVertexAttrib4bv,
-   glVertexAttrib4d,
-   glVertexAttrib4dv,
-   glVertexAttrib4f,
-   glVertexAttrib4fv,
-   glVertexAttrib4iv,
-   glVertexAttrib4s,
-   glVertexAttrib4sv,
-   glVertexAttrib4ubv,
-   glVertexAttrib4uiv,
-   glVertexAttrib4usv,
-   glVertexAttribI1i,
-   glVertexAttribI1iv,
-   glVertexAttribI1ui,
-   glVertexAttribI1uiv,
-   glVertexAttribI2i,
-   glVertexAttribI2iv,
-   glVertexAttribI2ui,
-   glVertexAttribI2uiv,
-   glVertexAttribI3i,
-   glVertexAttribI3iv,
-   glVertexAttribI3ui,
-   glVertexAttribI3uiv,
-   glVertexAttribI4bv,
-   glVertexAttribI4i,
-   glVertexAttribI4iv,
-   glVertexAttribI4sv,
-   glVertexAttribI4ubv,
-   glVertexAttribI4ui,
-   glVertexAttribI4uiv,
-   glVertexAttribI4usv,
-   glVertexAttribIPointer,
-   glVertexAttribPointer,
-   glViewport
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "OpenGL 3.1"
-
-EXTENSION_ENTRY(dyn_glActiveTexture,ptr_glActiveTexture,"glActiveTexture",glActiveTexture,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glAttachShader,ptr_glAttachShader,"glAttachShader",glAttachShader,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBeginConditionalRender,ptr_glBeginConditionalRender,"glBeginConditionalRender",glBeginConditionalRender,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBeginQuery,ptr_glBeginQuery,"glBeginQuery",glBeginQuery,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBeginTransformFeedback,ptr_glBeginTransformFeedback,"glBeginTransformFeedback",glBeginTransformFeedback,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBindAttribLocation,ptr_glBindAttribLocation,"glBindAttribLocation",glBindAttribLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glBindBuffer,ptr_glBindBuffer,"glBindBuffer",glBindBuffer,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBindFragDataLocation,ptr_glBindFragDataLocation,"glBindFragDataLocation",glBindFragDataLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glBindFramebuffer,ptr_glBindFramebuffer,"glBindFramebuffer",glBindFramebuffer,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBindRenderbuffer,ptr_glBindRenderbuffer,"glBindRenderbuffer",glBindRenderbuffer,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBindTexture,ptr_glBindTexture,"glBindTexture",glBindTexture,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBindVertexArray,ptr_glBindVertexArray,"glBindVertexArray",glBindVertexArray,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glBlendColor,ptr_glBlendColor,"glBlendColor",glBlendColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
-EXTENSION_ENTRY(dyn_glBlendEquation,ptr_glBlendEquation,"glBlendEquation",glBlendEquation,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBlendEquationSeparate,ptr_glBlendEquationSeparate,"glBlendEquationSeparate",glBlendEquationSeparate,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBlendFunc,ptr_glBlendFunc,"glBlendFunc",glBlendFunc,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBlendFuncSeparate,ptr_glBlendFuncSeparate,"glBlendFuncSeparate",glBlendFuncSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBlitFramebuffer,ptr_glBlitFramebuffer,"glBlitFramebuffer",glBlitFramebuffer,GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBufferData,ptr_glBufferData,"glBufferData",glBufferData,GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glBufferSubData,ptr_glBufferSubData,"glBufferSubData",glBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCheckFramebufferStatus,ptr_glCheckFramebufferStatus,"glCheckFramebufferStatus",glCheckFramebufferStatus,GLenum -> IO GLenum)
-EXTENSION_ENTRY(dyn_glClampColor,ptr_glClampColor,"glClampColor",glClampColor,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glClear,ptr_glClear,"glClear",glClear,GLbitfield -> IO ())
-EXTENSION_ENTRY(dyn_glClearBufferfi,ptr_glClearBufferfi,"glClearBufferfi",glClearBufferfi,GLenum -> GLint -> GLfloat -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glClearBufferfv,ptr_glClearBufferfv,"glClearBufferfv",glClearBufferfv,GLenum -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glClearBufferiv,ptr_glClearBufferiv,"glClearBufferiv",glClearBufferiv,GLenum -> GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glClearBufferuiv,ptr_glClearBufferuiv,"glClearBufferuiv",glClearBufferuiv,GLenum -> GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glClearColor,ptr_glClearColor,"glClearColor",glClearColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
-EXTENSION_ENTRY(dyn_glClearDepth,ptr_glClearDepth,"glClearDepth",glClearDepth,GLclampd -> IO ())
-EXTENSION_ENTRY(dyn_glClearStencil,ptr_glClearStencil,"glClearStencil",glClearStencil,GLint -> IO ())
-EXTENSION_ENTRY(dyn_glColorMask,ptr_glColorMask,"glColorMask",glColorMask,GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glColorMaski,ptr_glColorMaski,"glColorMaski",glColorMaski,GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glCompileShader,ptr_glCompileShader,"glCompileShader",glCompileShader,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTexImage1D,ptr_glCompressedTexImage1D,"glCompressedTexImage1D",glCompressedTexImage1D,GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTexImage2D,ptr_glCompressedTexImage2D,"glCompressedTexImage2D",glCompressedTexImage2D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTexImage3D,ptr_glCompressedTexImage3D,"glCompressedTexImage3D",glCompressedTexImage3D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTexSubImage1D,ptr_glCompressedTexSubImage1D,"glCompressedTexSubImage1D",glCompressedTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTexSubImage2D,ptr_glCompressedTexSubImage2D,"glCompressedTexSubImage2D",glCompressedTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTexSubImage3D,ptr_glCompressedTexSubImage3D,"glCompressedTexSubImage3D",glCompressedTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTexImage1D,ptr_glCopyTexImage1D,"glCopyTexImage1D",glCopyTexImage1D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTexImage2D,ptr_glCopyTexImage2D,"glCopyTexImage2D",glCopyTexImage2D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTexSubImage1D,ptr_glCopyTexSubImage1D,"glCopyTexSubImage1D",glCopyTexSubImage1D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTexSubImage2D,ptr_glCopyTexSubImage2D,"glCopyTexSubImage2D",glCopyTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTexSubImage3D,ptr_glCopyTexSubImage3D,"glCopyTexSubImage3D",glCopyTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCreateProgram,ptr_glCreateProgram,"glCreateProgram",glCreateProgram,IO GLuint)
-EXTENSION_ENTRY(dyn_glCreateShader,ptr_glCreateShader,"glCreateShader",glCreateShader,GLenum -> IO GLuint)
-EXTENSION_ENTRY(dyn_glCullFace,ptr_glCullFace,"glCullFace",glCullFace,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteBuffers,ptr_glDeleteBuffers,"glDeleteBuffers",glDeleteBuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteFramebuffers,ptr_glDeleteFramebuffers,"glDeleteFramebuffers",glDeleteFramebuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteProgram,ptr_glDeleteProgram,"glDeleteProgram",glDeleteProgram,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteQueries,ptr_glDeleteQueries,"glDeleteQueries",glDeleteQueries,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteRenderbuffers,ptr_glDeleteRenderbuffers,"glDeleteRenderbuffers",glDeleteRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteShader,ptr_glDeleteShader,"glDeleteShader",glDeleteShader,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteTextures,ptr_glDeleteTextures,"glDeleteTextures",glDeleteTextures,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDeleteVertexArrays,ptr_glDeleteVertexArrays,"glDeleteVertexArrays",glDeleteVertexArrays,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDepthFunc,ptr_glDepthFunc,"glDepthFunc",glDepthFunc,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glDepthMask,ptr_glDepthMask,"glDepthMask",glDepthMask,GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glDepthRange,ptr_glDepthRange,"glDepthRange",glDepthRange,GLclampd -> GLclampd -> IO ())
-EXTENSION_ENTRY(dyn_glDetachShader,ptr_glDetachShader,"glDetachShader",glDetachShader,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDisable,ptr_glDisable,"glDisable",glDisable,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glDisableVertexAttribArray,ptr_glDisableVertexAttribArray,"glDisableVertexAttribArray",glDisableVertexAttribArray,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDisablei,ptr_glDisablei,"glDisablei",glDisablei,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDrawArrays,ptr_glDrawArrays,"glDrawArrays",glDrawArrays,GLenum -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glDrawBuffer,ptr_glDrawBuffer,"glDrawBuffer",glDrawBuffer,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glDrawBuffers,ptr_glDrawBuffers,"glDrawBuffers",glDrawBuffers,GLsizei -> Ptr GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glDrawElements,ptr_glDrawElements,"glDrawElements",glDrawElements,GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glDrawRangeElements,ptr_glDrawRangeElements,"glDrawRangeElements",glDrawRangeElements,GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glEnable,ptr_glEnable,"glEnable",glEnable,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glEnableVertexAttribArray,ptr_glEnableVertexAttribArray,"glEnableVertexAttribArray",glEnableVertexAttribArray,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glEnablei,ptr_glEnablei,"glEnablei",glEnablei,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glEndConditionalRender,ptr_glEndConditionalRender,"glEndConditionalRender",glEndConditionalRender,IO ())
-EXTENSION_ENTRY(dyn_glEndQuery,ptr_glEndQuery,"glEndQuery",glEndQuery,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glEndTransformFeedback,ptr_glEndTransformFeedback,"glEndTransformFeedback",glEndTransformFeedback,IO ())
-EXTENSION_ENTRY(dyn_glFinish,ptr_glFinish,"glFinish",glFinish,IO ())
-EXTENSION_ENTRY(dyn_glFlush,ptr_glFlush,"glFlush",glFlush,IO ())
-EXTENSION_ENTRY(dyn_glFlushMappedBufferRange,ptr_glFlushMappedBufferRange,"glFlushMappedBufferRange",glFlushMappedBufferRange,GLenum -> GLintptr -> GLsizeiptr -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferRenderbuffer,ptr_glFramebufferRenderbuffer,"glFramebufferRenderbuffer",glFramebufferRenderbuffer,GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferTexture1D,ptr_glFramebufferTexture1D,"glFramebufferTexture1D",glFramebufferTexture1D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferTexture2D,ptr_glFramebufferTexture2D,"glFramebufferTexture2D",glFramebufferTexture2D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferTexture3D,ptr_glFramebufferTexture3D,"glFramebufferTexture3D",glFramebufferTexture3D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferTextureLayer,ptr_glFramebufferTextureLayer,"glFramebufferTextureLayer",glFramebufferTextureLayer,GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glFrontFace,ptr_glFrontFace,"glFrontFace",glFrontFace,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glGenBuffers,ptr_glGenBuffers,"glGenBuffers",glGenBuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenFramebuffers,ptr_glGenFramebuffers,"glGenFramebuffers",glGenFramebuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenQueries,ptr_glGenQueries,"glGenQueries",glGenQueries,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenRenderbuffers,ptr_glGenRenderbuffers,"glGenRenderbuffers",glGenRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenTextures,ptr_glGenTextures,"glGenTextures",glGenTextures,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenVertexArrays,ptr_glGenVertexArrays,"glGenVertexArrays",glGenVertexArrays,GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGenerateMipmap,ptr_glGenerateMipmap,"glGenerateMipmap",glGenerateMipmap,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glGetActiveAttrib,ptr_glGetActiveAttrib,"glGetActiveAttrib",glGetActiveAttrib,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetActiveUniform,ptr_glGetActiveUniform,"glGetActiveUniform",glGetActiveUniform,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetAttachedShaders,ptr_glGetAttachedShaders,"glGetAttachedShaders",glGetAttachedShaders,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetAttribLocation,ptr_glGetAttribLocation,"glGetAttribLocation",glGetAttribLocation,GLuint -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(dyn_glGetBooleani_v,ptr_glGetBooleani_v,"glGetBooleani_v",glGetBooleani_v,GLenum -> GLuint -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glGetBooleanv,ptr_glGetBooleanv,"glGetBooleanv",glGetBooleanv,GLenum -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glGetBufferParameteriv,ptr_glGetBufferParameteriv,"glGetBufferParameteriv",glGetBufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetBufferPointerv,ptr_glGetBufferPointerv,"glGetBufferPointerv",glGetBufferPointerv,GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(dyn_glGetBufferSubData,ptr_glGetBufferSubData,"glGetBufferSubData",glGetBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetCompressedTexImage,ptr_glGetCompressedTexImage,"glGetCompressedTexImage",glGetCompressedTexImage,GLenum -> GLint -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetDoublev,ptr_glGetDoublev,"glGetDoublev",glGetDoublev,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetError,ptr_glGetError,"glGetError",glGetError,IO GLenum)
-EXTENSION_ENTRY(dyn_glGetFloatv,ptr_glGetFloatv,"glGetFloatv",glGetFloatv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetFragDataLocation,ptr_glGetFragDataLocation,"glGetFragDataLocation",glGetFragDataLocation,GLuint -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(dyn_glGetFramebufferAttachmentParameteriv,ptr_glGetFramebufferAttachmentParameteriv,"glGetFramebufferAttachmentParameteriv",glGetFramebufferAttachmentParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetIntegerv,ptr_glGetIntegerv,"glGetIntegerv",glGetIntegerv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetPointerv,ptr_glGetPointerv,"glGetPointerv",glGetPointerv,GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramInfoLog,ptr_glGetProgramInfoLog,"glGetProgramInfoLog",glGetProgramInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetProgramiv,ptr_glGetProgramiv,"glGetProgramiv",glGetProgramiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetQueryObjectiv,ptr_glGetQueryObjectiv,"glGetQueryObjectiv",glGetQueryObjectiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetQueryObjectuiv,ptr_glGetQueryObjectuiv,"glGetQueryObjectuiv",glGetQueryObjectuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetQueryiv,ptr_glGetQueryiv,"glGetQueryiv",glGetQueryiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetRenderbufferParameteriv,ptr_glGetRenderbufferParameteriv,"glGetRenderbufferParameteriv",glGetRenderbufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetShaderInfoLog,ptr_glGetShaderInfoLog,"glGetShaderInfoLog",glGetShaderInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetShaderSource,ptr_glGetShaderSource,"glGetShaderSource",glGetShaderSource,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetShaderiv,ptr_glGetShaderiv,"glGetShaderiv",glGetShaderiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetString,ptr_glGetString,"glGetString",glGetString,GLenum -> IO (Ptr GLubyte))
-EXTENSION_ENTRY(dyn_glGetStringi,ptr_glGetStringi,"glGetStringi",glGetStringi,GLenum -> GLuint -> IO (Ptr GLubyte))
-EXTENSION_ENTRY(dyn_glGetTexImage,ptr_glGetTexImage,"glGetTexImage",glGetTexImage,GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexLevelParameterfv,ptr_glGetTexLevelParameterfv,"glGetTexLevelParameterfv",glGetTexLevelParameterfv,GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexLevelParameteriv,ptr_glGetTexLevelParameteriv,"glGetTexLevelParameteriv",glGetTexLevelParameteriv,GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexParameterIiv,ptr_glGetTexParameterIiv,"glGetTexParameterIiv",glGetTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexParameterIuiv,ptr_glGetTexParameterIuiv,"glGetTexParameterIuiv",glGetTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexParameterfv,ptr_glGetTexParameterfv,"glGetTexParameterfv",glGetTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetTexParameteriv,ptr_glGetTexParameteriv,"glGetTexParameteriv",glGetTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTransformFeedbackVarying,ptr_glGetTransformFeedbackVarying,"glGetTransformFeedbackVarying",glGetTransformFeedbackVarying,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-EXTENSION_ENTRY(dyn_glGetUniformLocation,ptr_glGetUniformLocation,"glGetUniformLocation",glGetUniformLocation,GLuint -> Ptr GLchar -> IO GLint)
-EXTENSION_ENTRY(dyn_glGetUniformfv,ptr_glGetUniformfv,"glGetUniformfv",glGetUniformfv,GLuint -> GLint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetUniformiv,ptr_glGetUniformiv,"glGetUniformiv",glGetUniformiv,GLuint -> GLint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetUniformuiv,ptr_glGetUniformuiv,"glGetUniformuiv",glGetUniformuiv,GLuint -> GLint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetVertexAttribIiv,ptr_glGetVertexAttribIiv,"glGetVertexAttribIiv",glGetVertexAttribIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetVertexAttribIuiv,ptr_glGetVertexAttribIuiv,"glGetVertexAttribIuiv",glGetVertexAttribIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetVertexAttribPointerv,ptr_glGetVertexAttribPointerv,"glGetVertexAttribPointerv",glGetVertexAttribPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(dyn_glGetVertexAttribdv,ptr_glGetVertexAttribdv,"glGetVertexAttribdv",glGetVertexAttribdv,GLuint -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetVertexAttribfv,ptr_glGetVertexAttribfv,"glGetVertexAttribfv",glGetVertexAttribfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetVertexAttribiv,ptr_glGetVertexAttribiv,"glGetVertexAttribiv",glGetVertexAttribiv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glHint,ptr_glHint,"glHint",glHint,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glIsBuffer,ptr_glIsBuffer,"glIsBuffer",glIsBuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsEnabled,ptr_glIsEnabled,"glIsEnabled",glIsEnabled,GLenum -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsEnabledi,ptr_glIsEnabledi,"glIsEnabledi",glIsEnabledi,GLenum -> GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsFramebuffer,ptr_glIsFramebuffer,"glIsFramebuffer",glIsFramebuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsProgram,ptr_glIsProgram,"glIsProgram",glIsProgram,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsQuery,ptr_glIsQuery,"glIsQuery",glIsQuery,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsRenderbuffer,ptr_glIsRenderbuffer,"glIsRenderbuffer",glIsRenderbuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsShader,ptr_glIsShader,"glIsShader",glIsShader,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsTexture,ptr_glIsTexture,"glIsTexture",glIsTexture,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glIsVertexArray,ptr_glIsVertexArray,"glIsVertexArray",glIsVertexArray,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glLineWidth,ptr_glLineWidth,"glLineWidth",glLineWidth,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glLinkProgram,ptr_glLinkProgram,"glLinkProgram",glLinkProgram,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glLogicOp,ptr_glLogicOp,"glLogicOp",glLogicOp,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glMapBuffer,ptr_glMapBuffer,"glMapBuffer",glMapBuffer,GLenum -> GLenum -> IO (Ptr a))
-EXTENSION_ENTRY(dyn_glMapBufferRange,ptr_glMapBufferRange,"glMapBufferRange",glMapBufferRange,GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-EXTENSION_ENTRY(dyn_glMultiDrawArrays,ptr_glMultiDrawArrays,"glMultiDrawArrays",glMultiDrawArrays,GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glMultiDrawElements,ptr_glMultiDrawElements,"glMultiDrawElements",glMultiDrawElements,GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glPixelStoref,ptr_glPixelStoref,"glPixelStoref",glPixelStoref,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPixelStorei,ptr_glPixelStorei,"glPixelStorei",glPixelStorei,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glPointParameterf,ptr_glPointParameterf,"glPointParameterf",glPointParameterf,GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPointParameterfv,ptr_glPointParameterfv,"glPointParameterfv",glPointParameterfv,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPointParameteri,ptr_glPointParameteri,"glPointParameteri",glPointParameteri,GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glPointParameteriv,ptr_glPointParameteriv,"glPointParameteriv",glPointParameteriv,GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glPointSize,ptr_glPointSize,"glPointSize",glPointSize,GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPolygonMode,ptr_glPolygonMode,"glPolygonMode",glPolygonMode,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glPolygonOffset,ptr_glPolygonOffset,"glPolygonOffset",glPolygonOffset,GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glPrimitiveRestartIndex,ptr_glPrimitiveRestartIndex,"glPrimitiveRestartIndex",glPrimitiveRestartIndex,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glReadBuffer,ptr_glReadBuffer,"glReadBuffer",glReadBuffer,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glReadPixels,ptr_glReadPixels,"glReadPixels",glReadPixels,GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glRenderbufferStorage,ptr_glRenderbufferStorage,"glRenderbufferStorage",glRenderbufferStorage,GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glRenderbufferStorageMultisample,ptr_glRenderbufferStorageMultisample,"glRenderbufferStorageMultisample",glRenderbufferStorageMultisample,GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glSampleCoverage,ptr_glSampleCoverage,"glSampleCoverage",glSampleCoverage,GLclampf -> GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glScissor,ptr_glScissor,"glScissor",glScissor,GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glShaderSource,ptr_glShaderSource,"glShaderSource",glShaderSource,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glStencilFunc,ptr_glStencilFunc,"glStencilFunc",glStencilFunc,GLenum -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glStencilFuncSeparate,ptr_glStencilFuncSeparate,"glStencilFuncSeparate",glStencilFuncSeparate,GLenum -> GLenum -> GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glStencilMask,ptr_glStencilMask,"glStencilMask",glStencilMask,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glStencilMaskSeparate,ptr_glStencilMaskSeparate,"glStencilMaskSeparate",glStencilMaskSeparate,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glStencilOp,ptr_glStencilOp,"glStencilOp",glStencilOp,GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glStencilOpSeparate,ptr_glStencilOpSeparate,"glStencilOpSeparate",glStencilOpSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glTexImage1D,ptr_glTexImage1D,"glTexImage1D",glTexImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTexImage2D,ptr_glTexImage2D,"glTexImage2D",glTexImage2D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTexImage3D,ptr_glTexImage3D,"glTexImage3D",glTexImage3D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTexParameterIiv,ptr_glTexParameterIiv,"glTexParameterIiv",glTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexParameterIuiv,ptr_glTexParameterIuiv,"glTexParameterIuiv",glTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTexParameterf,ptr_glTexParameterf,"glTexParameterf",glTexParameterf,GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexParameterfv,ptr_glTexParameterfv,"glTexParameterfv",glTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTexParameteri,ptr_glTexParameteri,"glTexParameteri",glTexParameteri,GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexParameteriv,ptr_glTexParameteriv,"glTexParameteriv",glTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTexSubImage1D,ptr_glTexSubImage1D,"glTexSubImage1D",glTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTexSubImage2D,ptr_glTexSubImage2D,"glTexSubImage2D",glTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTexSubImage3D,ptr_glTexSubImage3D,"glTexSubImage3D",glTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTransformFeedbackVaryings,ptr_glTransformFeedbackVaryings,"glTransformFeedbackVaryings",glTransformFeedbackVaryings,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glUniform1f,ptr_glUniform1f,"glUniform1f",glUniform1f,GLint -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform1fv,ptr_glUniform1fv,"glUniform1fv",glUniform1fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform1i,ptr_glUniform1i,"glUniform1i",glUniform1i,GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform1iv,ptr_glUniform1iv,"glUniform1iv",glUniform1iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform1ui,ptr_glUniform1ui,"glUniform1ui",glUniform1ui,GLint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform1uiv,ptr_glUniform1uiv,"glUniform1uiv",glUniform1uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2f,ptr_glUniform2f,"glUniform2f",glUniform2f,GLint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2fv,ptr_glUniform2fv,"glUniform2fv",glUniform2fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2i,ptr_glUniform2i,"glUniform2i",glUniform2i,GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2iv,ptr_glUniform2iv,"glUniform2iv",glUniform2iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2ui,ptr_glUniform2ui,"glUniform2ui",glUniform2ui,GLint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform2uiv,ptr_glUniform2uiv,"glUniform2uiv",glUniform2uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3f,ptr_glUniform3f,"glUniform3f",glUniform3f,GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3fv,ptr_glUniform3fv,"glUniform3fv",glUniform3fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3i,ptr_glUniform3i,"glUniform3i",glUniform3i,GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3iv,ptr_glUniform3iv,"glUniform3iv",glUniform3iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3ui,ptr_glUniform3ui,"glUniform3ui",glUniform3ui,GLint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform3uiv,ptr_glUniform3uiv,"glUniform3uiv",glUniform3uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4f,ptr_glUniform4f,"glUniform4f",glUniform4f,GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4fv,ptr_glUniform4fv,"glUniform4fv",glUniform4fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4i,ptr_glUniform4i,"glUniform4i",glUniform4i,GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4iv,ptr_glUniform4iv,"glUniform4iv",glUniform4iv,GLint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4ui,ptr_glUniform4ui,"glUniform4ui",glUniform4ui,GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniform4uiv,ptr_glUniform4uiv,"glUniform4uiv",glUniform4uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix2fv,ptr_glUniformMatrix2fv,"glUniformMatrix2fv",glUniformMatrix2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix2x3fv,ptr_glUniformMatrix2x3fv,"glUniformMatrix2x3fv",glUniformMatrix2x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix2x4fv,ptr_glUniformMatrix2x4fv,"glUniformMatrix2x4fv",glUniformMatrix2x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix3fv,ptr_glUniformMatrix3fv,"glUniformMatrix3fv",glUniformMatrix3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix3x2fv,ptr_glUniformMatrix3x2fv,"glUniformMatrix3x2fv",glUniformMatrix3x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix3x4fv,ptr_glUniformMatrix3x4fv,"glUniformMatrix3x4fv",glUniformMatrix3x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix4fv,ptr_glUniformMatrix4fv,"glUniformMatrix4fv",glUniformMatrix4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix4x2fv,ptr_glUniformMatrix4x2fv,"glUniformMatrix4x2fv",glUniformMatrix4x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUniformMatrix4x3fv,ptr_glUniformMatrix4x3fv,"glUniformMatrix4x3fv",glUniformMatrix4x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glUnmapBuffer,ptr_glUnmapBuffer,"glUnmapBuffer",glUnmapBuffer,GLenum -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glUseProgram,ptr_glUseProgram,"glUseProgram",glUseProgram,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glValidateProgram,ptr_glValidateProgram,"glValidateProgram",glValidateProgram,GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib1d,ptr_glVertexAttrib1d,"glVertexAttrib1d",glVertexAttrib1d,GLuint -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib1dv,ptr_glVertexAttrib1dv,"glVertexAttrib1dv",glVertexAttrib1dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib1f,ptr_glVertexAttrib1f,"glVertexAttrib1f",glVertexAttrib1f,GLuint -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib1fv,ptr_glVertexAttrib1fv,"glVertexAttrib1fv",glVertexAttrib1fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib1s,ptr_glVertexAttrib1s,"glVertexAttrib1s",glVertexAttrib1s,GLuint -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib1sv,ptr_glVertexAttrib1sv,"glVertexAttrib1sv",glVertexAttrib1sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib2d,ptr_glVertexAttrib2d,"glVertexAttrib2d",glVertexAttrib2d,GLuint -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib2dv,ptr_glVertexAttrib2dv,"glVertexAttrib2dv",glVertexAttrib2dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib2f,ptr_glVertexAttrib2f,"glVertexAttrib2f",glVertexAttrib2f,GLuint -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib2fv,ptr_glVertexAttrib2fv,"glVertexAttrib2fv",glVertexAttrib2fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib2s,ptr_glVertexAttrib2s,"glVertexAttrib2s",glVertexAttrib2s,GLuint -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib2sv,ptr_glVertexAttrib2sv,"glVertexAttrib2sv",glVertexAttrib2sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib3d,ptr_glVertexAttrib3d,"glVertexAttrib3d",glVertexAttrib3d,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib3dv,ptr_glVertexAttrib3dv,"glVertexAttrib3dv",glVertexAttrib3dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib3f,ptr_glVertexAttrib3f,"glVertexAttrib3f",glVertexAttrib3f,GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib3fv,ptr_glVertexAttrib3fv,"glVertexAttrib3fv",glVertexAttrib3fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib3s,ptr_glVertexAttrib3s,"glVertexAttrib3s",glVertexAttrib3s,GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib3sv,ptr_glVertexAttrib3sv,"glVertexAttrib3sv",glVertexAttrib3sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4Nbv,ptr_glVertexAttrib4Nbv,"glVertexAttrib4Nbv",glVertexAttrib4Nbv,GLuint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4Niv,ptr_glVertexAttrib4Niv,"glVertexAttrib4Niv",glVertexAttrib4Niv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4Nsv,ptr_glVertexAttrib4Nsv,"glVertexAttrib4Nsv",glVertexAttrib4Nsv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4Nub,ptr_glVertexAttrib4Nub,"glVertexAttrib4Nub",glVertexAttrib4Nub,GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4Nubv,ptr_glVertexAttrib4Nubv,"glVertexAttrib4Nubv",glVertexAttrib4Nubv,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4Nuiv,ptr_glVertexAttrib4Nuiv,"glVertexAttrib4Nuiv",glVertexAttrib4Nuiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4Nusv,ptr_glVertexAttrib4Nusv,"glVertexAttrib4Nusv",glVertexAttrib4Nusv,GLuint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4bv,ptr_glVertexAttrib4bv,"glVertexAttrib4bv",glVertexAttrib4bv,GLuint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4d,ptr_glVertexAttrib4d,"glVertexAttrib4d",glVertexAttrib4d,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4dv,ptr_glVertexAttrib4dv,"glVertexAttrib4dv",glVertexAttrib4dv,GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4f,ptr_glVertexAttrib4f,"glVertexAttrib4f",glVertexAttrib4f,GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4fv,ptr_glVertexAttrib4fv,"glVertexAttrib4fv",glVertexAttrib4fv,GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4iv,ptr_glVertexAttrib4iv,"glVertexAttrib4iv",glVertexAttrib4iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4s,ptr_glVertexAttrib4s,"glVertexAttrib4s",glVertexAttrib4s,GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4sv,ptr_glVertexAttrib4sv,"glVertexAttrib4sv",glVertexAttrib4sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4ubv,ptr_glVertexAttrib4ubv,"glVertexAttrib4ubv",glVertexAttrib4ubv,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4uiv,ptr_glVertexAttrib4uiv,"glVertexAttrib4uiv",glVertexAttrib4uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttrib4usv,ptr_glVertexAttrib4usv,"glVertexAttrib4usv",glVertexAttrib4usv,GLuint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI1i,ptr_glVertexAttribI1i,"glVertexAttribI1i",glVertexAttribI1i,GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI1iv,ptr_glVertexAttribI1iv,"glVertexAttribI1iv",glVertexAttribI1iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI1ui,ptr_glVertexAttribI1ui,"glVertexAttribI1ui",glVertexAttribI1ui,GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI1uiv,ptr_glVertexAttribI1uiv,"glVertexAttribI1uiv",glVertexAttribI1uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI2i,ptr_glVertexAttribI2i,"glVertexAttribI2i",glVertexAttribI2i,GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI2iv,ptr_glVertexAttribI2iv,"glVertexAttribI2iv",glVertexAttribI2iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI2ui,ptr_glVertexAttribI2ui,"glVertexAttribI2ui",glVertexAttribI2ui,GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI2uiv,ptr_glVertexAttribI2uiv,"glVertexAttribI2uiv",glVertexAttribI2uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI3i,ptr_glVertexAttribI3i,"glVertexAttribI3i",glVertexAttribI3i,GLuint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI3iv,ptr_glVertexAttribI3iv,"glVertexAttribI3iv",glVertexAttribI3iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI3ui,ptr_glVertexAttribI3ui,"glVertexAttribI3ui",glVertexAttribI3ui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI3uiv,ptr_glVertexAttribI3uiv,"glVertexAttribI3uiv",glVertexAttribI3uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4bv,ptr_glVertexAttribI4bv,"glVertexAttribI4bv",glVertexAttribI4bv,GLuint -> Ptr GLbyte -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4i,ptr_glVertexAttribI4i,"glVertexAttribI4i",glVertexAttribI4i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4iv,ptr_glVertexAttribI4iv,"glVertexAttribI4iv",glVertexAttribI4iv,GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4sv,ptr_glVertexAttribI4sv,"glVertexAttribI4sv",glVertexAttribI4sv,GLuint -> Ptr GLshort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4ubv,ptr_glVertexAttribI4ubv,"glVertexAttribI4ubv",glVertexAttribI4ubv,GLuint -> Ptr GLubyte -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4ui,ptr_glVertexAttribI4ui,"glVertexAttribI4ui",glVertexAttribI4ui,GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4uiv,ptr_glVertexAttribI4uiv,"glVertexAttribI4uiv",glVertexAttribI4uiv,GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribI4usv,ptr_glVertexAttribI4usv,"glVertexAttribI4usv",glVertexAttribI4usv,GLuint -> Ptr GLushort -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribIPointer,ptr_glVertexAttribIPointer,"glVertexAttribIPointer",glVertexAttribIPointer,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glVertexAttribPointer,ptr_glVertexAttribPointer,"glVertexAttribPointer",glVertexAttribPointer,GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glViewport,ptr_glViewport,"glViewport",glViewport,GLint -> GLint -> GLsizei -> GLsizei -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31/Tokens.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31/Tokens.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31/Tokens.hs
+++ /dev/null
@@ -1,2064 +0,0 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Tokens
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from the OpenGL 3.1 core, see <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31.Tokens where
-
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-
-gl_ACTIVE_ATTRIBUTES :: GLenum
-gl_ACTIVE_ATTRIBUTES = 0x8B89
-
-gl_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
-gl_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
-
-gl_ACTIVE_TEXTURE :: GLenum
-gl_ACTIVE_TEXTURE = 0x84E0
-
-gl_ACTIVE_UNIFORMS :: GLenum
-gl_ACTIVE_UNIFORMS = 0x8B86
-
-gl_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
-gl_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
-
-gl_ALIASED_LINE_WIDTH_RANGE :: GLenum
-gl_ALIASED_LINE_WIDTH_RANGE = 0x846E
-
-gl_ALPHA :: GLenum
-gl_ALPHA = 0x1906
-
-gl_ALWAYS :: GLenum
-gl_ALWAYS = 0x0207
-
-gl_AND :: GLenum
-gl_AND = 0x1501
-
-gl_AND_INVERTED :: GLenum
-gl_AND_INVERTED = 0x1504
-
-gl_AND_REVERSE :: GLenum
-gl_AND_REVERSE = 0x1502
-
-gl_ARRAY_BUFFER :: GLenum
-gl_ARRAY_BUFFER = 0x8892
-
-gl_ARRAY_BUFFER_BINDING :: GLenum
-gl_ARRAY_BUFFER_BINDING = 0x8894
-
-gl_ATTACHED_SHADERS :: GLenum
-gl_ATTACHED_SHADERS = 0x8B85
-
-gl_BACK :: GLenum
-gl_BACK = 0x0405
-
-gl_BACK_LEFT :: GLenum
-gl_BACK_LEFT = 0x0402
-
-gl_BACK_RIGHT :: GLenum
-gl_BACK_RIGHT = 0x0403
-
-gl_BGR :: GLenum
-gl_BGR = 0x80E0
-
-gl_BGRA :: GLenum
-gl_BGRA = 0x80E1
-
-gl_BGRA_INTEGER :: GLenum
-gl_BGRA_INTEGER = 0x8D9B
-
-gl_BGR_INTEGER :: GLenum
-gl_BGR_INTEGER = 0x8D9A
-
-gl_BLEND :: GLenum
-gl_BLEND = 0x0BE2
-
-gl_BLEND_COLOR :: GLenum
-gl_BLEND_COLOR = 0x8005
-
-gl_BLEND_DST :: GLenum
-gl_BLEND_DST = 0x0BE0
-
-gl_BLEND_DST_ALPHA :: GLenum
-gl_BLEND_DST_ALPHA = 0x80CA
-
-gl_BLEND_DST_RGB :: GLenum
-gl_BLEND_DST_RGB = 0x80C8
-
-gl_BLEND_EQUATION :: GLenum
-gl_BLEND_EQUATION = 0x8009
-
-gl_BLEND_EQUATION_ALPHA :: GLenum
-gl_BLEND_EQUATION_ALPHA = 0x883D
-
-gl_BLEND_EQUATION_RGB :: GLenum
-gl_BLEND_EQUATION_RGB = 0x8009
-
-gl_BLEND_SRC :: GLenum
-gl_BLEND_SRC = 0x0BE1
-
-gl_BLEND_SRC_ALPHA :: GLenum
-gl_BLEND_SRC_ALPHA = 0x80CB
-
-gl_BLEND_SRC_RGB :: GLenum
-gl_BLEND_SRC_RGB = 0x80C9
-
-gl_BLUE :: GLenum
-gl_BLUE = 0x1905
-
-gl_BLUE_INTEGER :: GLenum
-gl_BLUE_INTEGER = 0x8D96
-
-gl_BOOL :: GLenum
-gl_BOOL = 0x8B56
-
-gl_BOOL_VEC2 :: GLenum
-gl_BOOL_VEC2 = 0x8B57
-
-gl_BOOL_VEC3 :: GLenum
-gl_BOOL_VEC3 = 0x8B58
-
-gl_BOOL_VEC4 :: GLenum
-gl_BOOL_VEC4 = 0x8B59
-
-gl_BUFFER_ACCESS :: GLenum
-gl_BUFFER_ACCESS = 0x88BB
-
-gl_BUFFER_ACCESS_FLAGS :: GLenum
-gl_BUFFER_ACCESS_FLAGS = 0x911F
-
-gl_BUFFER_MAPPED :: GLenum
-gl_BUFFER_MAPPED = 0x88BC
-
-gl_BUFFER_MAP_LENGTH :: GLenum
-gl_BUFFER_MAP_LENGTH = 0x9120
-
-gl_BUFFER_MAP_OFFSET :: GLenum
-gl_BUFFER_MAP_OFFSET = 0x9121
-
-gl_BUFFER_MAP_POINTER :: GLenum
-gl_BUFFER_MAP_POINTER = 0x88BD
-
-gl_BUFFER_SIZE :: GLenum
-gl_BUFFER_SIZE = 0x8764
-
-gl_BUFFER_USAGE :: GLenum
-gl_BUFFER_USAGE = 0x8765
-
-gl_BYTE :: GLenum
-gl_BYTE = 0x1400
-
-gl_CCW :: GLenum
-gl_CCW = 0x0901
-
-gl_CLAMP_READ_COLOR :: GLenum
-gl_CLAMP_READ_COLOR = 0x891C
-
-gl_CLAMP_TO_BORDER :: GLenum
-gl_CLAMP_TO_BORDER = 0x812D
-
-gl_CLAMP_TO_EDGE :: GLenum
-gl_CLAMP_TO_EDGE = 0x812F
-
-gl_CLEAR :: GLenum
-gl_CLEAR = 0x1500
-
-gl_CLIP_DISTANCE0 :: GLenum
-gl_CLIP_DISTANCE0 = 0x3000
-
-gl_CLIP_DISTANCE1 :: GLenum
-gl_CLIP_DISTANCE1 = 0x3001
-
-gl_CLIP_DISTANCE2 :: GLenum
-gl_CLIP_DISTANCE2 = 0x3002
-
-gl_CLIP_DISTANCE3 :: GLenum
-gl_CLIP_DISTANCE3 = 0x3003
-
-gl_CLIP_DISTANCE4 :: GLenum
-gl_CLIP_DISTANCE4 = 0x3004
-
-gl_CLIP_DISTANCE5 :: GLenum
-gl_CLIP_DISTANCE5 = 0x3005
-
-gl_CLIP_DISTANCE6 :: GLenum
-gl_CLIP_DISTANCE6 = 0x3006
-
-gl_CLIP_DISTANCE7 :: GLenum
-gl_CLIP_DISTANCE7 = 0x3007
-
-gl_COLOR :: GLenum
-gl_COLOR = 0x1800
-
-gl_COLOR_ATTACHMENT0 :: GLenum
-gl_COLOR_ATTACHMENT0 = 0x8CE0
-
-gl_COLOR_ATTACHMENT1 :: GLenum
-gl_COLOR_ATTACHMENT1 = 0x8CE1
-
-gl_COLOR_ATTACHMENT10 :: GLenum
-gl_COLOR_ATTACHMENT10 = 0x8CEA
-
-gl_COLOR_ATTACHMENT11 :: GLenum
-gl_COLOR_ATTACHMENT11 = 0x8CEB
-
-gl_COLOR_ATTACHMENT12 :: GLenum
-gl_COLOR_ATTACHMENT12 = 0x8CEC
-
-gl_COLOR_ATTACHMENT13 :: GLenum
-gl_COLOR_ATTACHMENT13 = 0x8CED
-
-gl_COLOR_ATTACHMENT14 :: GLenum
-gl_COLOR_ATTACHMENT14 = 0x8CEE
-
-gl_COLOR_ATTACHMENT15 :: GLenum
-gl_COLOR_ATTACHMENT15 = 0x8CEF
-
-gl_COLOR_ATTACHMENT2 :: GLenum
-gl_COLOR_ATTACHMENT2 = 0x8CE2
-
-gl_COLOR_ATTACHMENT3 :: GLenum
-gl_COLOR_ATTACHMENT3 = 0x8CE3
-
-gl_COLOR_ATTACHMENT4 :: GLenum
-gl_COLOR_ATTACHMENT4 = 0x8CE4
-
-gl_COLOR_ATTACHMENT5 :: GLenum
-gl_COLOR_ATTACHMENT5 = 0x8CE5
-
-gl_COLOR_ATTACHMENT6 :: GLenum
-gl_COLOR_ATTACHMENT6 = 0x8CE6
-
-gl_COLOR_ATTACHMENT7 :: GLenum
-gl_COLOR_ATTACHMENT7 = 0x8CE7
-
-gl_COLOR_ATTACHMENT8 :: GLenum
-gl_COLOR_ATTACHMENT8 = 0x8CE8
-
-gl_COLOR_ATTACHMENT9 :: GLenum
-gl_COLOR_ATTACHMENT9 = 0x8CE9
-
-gl_COLOR_BUFFER_BIT :: GLbitfield
-gl_COLOR_BUFFER_BIT = 0x00004000
-
-gl_COLOR_CLEAR_VALUE :: GLenum
-gl_COLOR_CLEAR_VALUE = 0x0C22
-
-gl_COLOR_LOGIC_OP :: GLenum
-gl_COLOR_LOGIC_OP = 0x0BF2
-
-gl_COLOR_WRITEMASK :: GLenum
-gl_COLOR_WRITEMASK = 0x0C23
-
-gl_COMPARE_REF_TO_TEXTURE :: GLenum
-gl_COMPARE_REF_TO_TEXTURE = 0x884E
-
-gl_COMPILE_STATUS :: GLenum
-gl_COMPILE_STATUS = 0x8B81
-
-gl_COMPRESSED_RED :: GLenum
-gl_COMPRESSED_RED = 0x8225
-
-gl_COMPRESSED_RED_RGTC1 :: GLenum
-gl_COMPRESSED_RED_RGTC1 = 0x8DBB
-
-gl_COMPRESSED_RG :: GLenum
-gl_COMPRESSED_RG = 0x8226
-
-gl_COMPRESSED_RGB :: GLenum
-gl_COMPRESSED_RGB = 0x84ED
-
-gl_COMPRESSED_RGBA :: GLenum
-gl_COMPRESSED_RGBA = 0x84EE
-
-gl_COMPRESSED_RG_RGTC2 :: GLenum
-gl_COMPRESSED_RG_RGTC2 = 0x8DBD
-
-gl_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
-gl_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC
-
-gl_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
-gl_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE
-
-gl_COMPRESSED_SRGB :: GLenum
-gl_COMPRESSED_SRGB = 0x8C48
-
-gl_COMPRESSED_SRGB_ALPHA :: GLenum
-gl_COMPRESSED_SRGB_ALPHA = 0x8C49
-
-gl_COMPRESSED_TEXTURE_FORMATS :: GLenum
-gl_COMPRESSED_TEXTURE_FORMATS = 0x86A3
-
-gl_CONSTANT_ALPHA :: GLenum
-gl_CONSTANT_ALPHA = 0x8003
-
-gl_CONSTANT_COLOR :: GLenum
-gl_CONSTANT_COLOR = 0x8001
-
-gl_CONTEXT_FLAGS :: GLenum
-gl_CONTEXT_FLAGS = 0x821E
-
-gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
-gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001
-
-gl_COPY :: GLenum
-gl_COPY = 0x1503
-
-gl_COPY_INVERTED :: GLenum
-gl_COPY_INVERTED = 0x150C
-
-gl_CULL_FACE :: GLenum
-gl_CULL_FACE = 0x0B44
-
-gl_CULL_FACE_MODE :: GLenum
-gl_CULL_FACE_MODE = 0x0B45
-
-gl_CURRENT_PROGRAM :: GLenum
-gl_CURRENT_PROGRAM = 0x8B8D
-
-gl_CURRENT_QUERY :: GLenum
-gl_CURRENT_QUERY = 0x8865
-
-gl_CURRENT_VERTEX_ATTRIB :: GLenum
-gl_CURRENT_VERTEX_ATTRIB = 0x8626
-
-gl_CW :: GLenum
-gl_CW = 0x0900
-
-gl_DECR :: GLenum
-gl_DECR = 0x1E03
-
-gl_DECR_WRAP :: GLenum
-gl_DECR_WRAP = 0x8508
-
-gl_DELETE_STATUS :: GLenum
-gl_DELETE_STATUS = 0x8B80
-
-gl_DEPTH :: GLenum
-gl_DEPTH = 0x1801
-
-gl_DEPTH24_STENCIL8 :: GLenum
-gl_DEPTH24_STENCIL8 = 0x88F0
-
-gl_DEPTH32F_STENCIL8 :: GLenum
-gl_DEPTH32F_STENCIL8 = 0x8CAD
-
-gl_DEPTH_ATTACHMENT :: GLenum
-gl_DEPTH_ATTACHMENT = 0x8D00
-
-gl_DEPTH_BUFFER :: GLenum
-gl_DEPTH_BUFFER = 0x8223
-
-gl_DEPTH_BUFFER_BIT :: GLbitfield
-gl_DEPTH_BUFFER_BIT = 0x00000100
-
-gl_DEPTH_CLEAR_VALUE :: GLenum
-gl_DEPTH_CLEAR_VALUE = 0x0B73
-
-gl_DEPTH_COMPONENT :: GLenum
-gl_DEPTH_COMPONENT = 0x1902
-
-gl_DEPTH_COMPONENT16 :: GLenum
-gl_DEPTH_COMPONENT16 = 0x81A5
-
-gl_DEPTH_COMPONENT24 :: GLenum
-gl_DEPTH_COMPONENT24 = 0x81A6
-
-gl_DEPTH_COMPONENT32 :: GLenum
-gl_DEPTH_COMPONENT32 = 0x81A7
-
-gl_DEPTH_COMPONENT32F :: GLenum
-gl_DEPTH_COMPONENT32F = 0x8CAC
-
-gl_DEPTH_FUNC :: GLenum
-gl_DEPTH_FUNC = 0x0B74
-
-gl_DEPTH_RANGE :: GLenum
-gl_DEPTH_RANGE = 0x0B70
-
-gl_DEPTH_STENCIL :: GLenum
-gl_DEPTH_STENCIL = 0x84F9
-
-gl_DEPTH_STENCIL_ATTACHMENT :: GLenum
-gl_DEPTH_STENCIL_ATTACHMENT = 0x821A
-
-gl_DEPTH_TEST :: GLenum
-gl_DEPTH_TEST = 0x0B71
-
-gl_DEPTH_WRITEMASK :: GLenum
-gl_DEPTH_WRITEMASK = 0x0B72
-
-gl_DITHER :: GLenum
-gl_DITHER = 0x0BD0
-
-gl_DONT_CARE :: GLenum
-gl_DONT_CARE = 0x1100
-
-gl_DOUBLE :: GLenum
-gl_DOUBLE = 0x140A
-
-gl_DOUBLEBUFFER :: GLenum
-gl_DOUBLEBUFFER = 0x0C32
-
-gl_DRAW_BUFFER :: GLenum
-gl_DRAW_BUFFER = 0x0C01
-
-gl_DRAW_BUFFER0 :: GLenum
-gl_DRAW_BUFFER0 = 0x8825
-
-gl_DRAW_BUFFER1 :: GLenum
-gl_DRAW_BUFFER1 = 0x8826
-
-gl_DRAW_BUFFER10 :: GLenum
-gl_DRAW_BUFFER10 = 0x882F
-
-gl_DRAW_BUFFER11 :: GLenum
-gl_DRAW_BUFFER11 = 0x8830
-
-gl_DRAW_BUFFER12 :: GLenum
-gl_DRAW_BUFFER12 = 0x8831
-
-gl_DRAW_BUFFER13 :: GLenum
-gl_DRAW_BUFFER13 = 0x8832
-
-gl_DRAW_BUFFER14 :: GLenum
-gl_DRAW_BUFFER14 = 0x8833
-
-gl_DRAW_BUFFER15 :: GLenum
-gl_DRAW_BUFFER15 = 0x8834
-
-gl_DRAW_BUFFER2 :: GLenum
-gl_DRAW_BUFFER2 = 0x8827
-
-gl_DRAW_BUFFER3 :: GLenum
-gl_DRAW_BUFFER3 = 0x8828
-
-gl_DRAW_BUFFER4 :: GLenum
-gl_DRAW_BUFFER4 = 0x8829
-
-gl_DRAW_BUFFER5 :: GLenum
-gl_DRAW_BUFFER5 = 0x882A
-
-gl_DRAW_BUFFER6 :: GLenum
-gl_DRAW_BUFFER6 = 0x882B
-
-gl_DRAW_BUFFER7 :: GLenum
-gl_DRAW_BUFFER7 = 0x882C
-
-gl_DRAW_BUFFER8 :: GLenum
-gl_DRAW_BUFFER8 = 0x882D
-
-gl_DRAW_BUFFER9 :: GLenum
-gl_DRAW_BUFFER9 = 0x882E
-
-gl_DRAW_FRAMEBUFFER :: GLenum
-gl_DRAW_FRAMEBUFFER = 0x8CA9
-
-gl_DRAW_FRAMEBUFFER_BINDING :: GLenum
-gl_DRAW_FRAMEBUFFER_BINDING = gl_FRAMEBUFFER_BINDING
-
-gl_DST_ALPHA :: GLenum
-gl_DST_ALPHA = 0x0304
-
-gl_DST_COLOR :: GLenum
-gl_DST_COLOR = 0x0306
-
-gl_DYNAMIC_COPY :: GLenum
-gl_DYNAMIC_COPY = 0x88EA
-
-gl_DYNAMIC_DRAW :: GLenum
-gl_DYNAMIC_DRAW = 0x88E8
-
-gl_DYNAMIC_READ :: GLenum
-gl_DYNAMIC_READ = 0x88E9
-
-gl_ELEMENT_ARRAY_BUFFER :: GLenum
-gl_ELEMENT_ARRAY_BUFFER = 0x8893
-
-gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
-gl_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895
-
-gl_EQUAL :: GLenum
-gl_EQUAL = 0x0202
-
-gl_EQUIV :: GLenum
-gl_EQUIV = 0x1509
-
-gl_EXTENSIONS :: GLenum
-gl_EXTENSIONS = 0x1F03
-
-gl_FALSE :: GLenum
-gl_FALSE = 0
-
-gl_FASTEST :: GLenum
-gl_FASTEST = 0x1101
-
-gl_FILL :: GLenum
-gl_FILL = 0x1B02
-
-gl_FIXED_ONLY :: GLenum
-gl_FIXED_ONLY = 0x891D
-
-gl_FLOAT :: GLenum
-gl_FLOAT = 0x1406
-
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
-gl_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD
-
-gl_FLOAT_MAT2 :: GLenum
-gl_FLOAT_MAT2 = 0x8B5A
-
-gl_FLOAT_MAT2x3 :: GLenum
-gl_FLOAT_MAT2x3 = 0x8B65
-
-gl_FLOAT_MAT2x4 :: GLenum
-gl_FLOAT_MAT2x4 = 0x8B66
-
-gl_FLOAT_MAT3 :: GLenum
-gl_FLOAT_MAT3 = 0x8B5B
-
-gl_FLOAT_MAT3x2 :: GLenum
-gl_FLOAT_MAT3x2 = 0x8B67
-
-gl_FLOAT_MAT3x4 :: GLenum
-gl_FLOAT_MAT3x4 = 0x8B68
-
-gl_FLOAT_MAT4 :: GLenum
-gl_FLOAT_MAT4 = 0x8B5C
-
-gl_FLOAT_MAT4x2 :: GLenum
-gl_FLOAT_MAT4x2 = 0x8B69
-
-gl_FLOAT_MAT4x3 :: GLenum
-gl_FLOAT_MAT4x3 = 0x8B6A
-
-gl_FLOAT_VEC2 :: GLenum
-gl_FLOAT_VEC2 = 0x8B50
-
-gl_FLOAT_VEC3 :: GLenum
-gl_FLOAT_VEC3 = 0x8B51
-
-gl_FLOAT_VEC4 :: GLenum
-gl_FLOAT_VEC4 = 0x8B52
-
-gl_FRAGMENT_SHADER :: GLenum
-gl_FRAGMENT_SHADER = 0x8B30
-
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
-gl_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B
-
-gl_FRAMEBUFFER :: GLenum
-gl_FRAMEBUFFER = 0x8D40
-
-gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215
-
-gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214
-
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210
-
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211
-
-gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216
-
-gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213
-
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1
-
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0
-
-gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212
-
-gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217
-
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3
-
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4
-
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2
-
-gl_FRAMEBUFFER_BINDING :: GLenum
-gl_FRAMEBUFFER_BINDING = 0x8CA6
-
-gl_FRAMEBUFFER_COMPLETE :: GLenum
-gl_FRAMEBUFFER_COMPLETE = 0x8CD5
-
-gl_FRAMEBUFFER_DEFAULT :: GLenum
-gl_FRAMEBUFFER_DEFAULT = 0x8218
-
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6
-
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB
-
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7
-
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56
-
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
-gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC
-
-gl_FRAMEBUFFER_SRGB :: GLenum
-gl_FRAMEBUFFER_SRGB = 0x8DB9
-
-gl_FRAMEBUFFER_UNDEFINED :: GLenum
-gl_FRAMEBUFFER_UNDEFINED = 0x8219
-
-gl_FRAMEBUFFER_UNSUPPORTED :: GLenum
-gl_FRAMEBUFFER_UNSUPPORTED = 0x8CDD
-
-gl_FRONT :: GLenum
-gl_FRONT = 0x0404
-
-gl_FRONT_AND_BACK :: GLenum
-gl_FRONT_AND_BACK = 0x0408
-
-gl_FRONT_FACE :: GLenum
-gl_FRONT_FACE = 0x0B46
-
-gl_FRONT_LEFT :: GLenum
-gl_FRONT_LEFT = 0x0400
-
-gl_FRONT_RIGHT :: GLenum
-gl_FRONT_RIGHT = 0x0401
-
-gl_FUNC_ADD :: GLenum
-gl_FUNC_ADD = 0x8006
-
-gl_FUNC_REVERSE_SUBTRACT :: GLenum
-gl_FUNC_REVERSE_SUBTRACT = 0x800B
-
-gl_FUNC_SUBTRACT :: GLenum
-gl_FUNC_SUBTRACT = 0x800A
-
-gl_GEQUAL :: GLenum
-gl_GEQUAL = 0x0206
-
-gl_GREATER :: GLenum
-gl_GREATER = 0x0204
-
-gl_GREEN :: GLenum
-gl_GREEN = 0x1904
-
-gl_GREEN_INTEGER :: GLenum
-gl_GREEN_INTEGER = 0x8D95
-
-gl_HALF_FLOAT :: GLenum
-gl_HALF_FLOAT = 0x140B
-
-gl_INCR :: GLenum
-gl_INCR = 0x1E02
-
-gl_INCR_WRAP :: GLenum
-gl_INCR_WRAP = 0x8507
-
-gl_INFO_LOG_LENGTH :: GLenum
-gl_INFO_LOG_LENGTH = 0x8B84
-
-gl_INT :: GLenum
-gl_INT = 0x1404
-
-gl_INTERLEAVED_ATTRIBS :: GLenum
-gl_INTERLEAVED_ATTRIBS = 0x8C8C
-
-gl_INT_SAMPLER_1D :: GLenum
-gl_INT_SAMPLER_1D = 0x8DC9
-
-gl_INT_SAMPLER_1D_ARRAY :: GLenum
-gl_INT_SAMPLER_1D_ARRAY = 0x8DCE
-
-gl_INT_SAMPLER_2D :: GLenum
-gl_INT_SAMPLER_2D = 0x8DCA
-
-gl_INT_SAMPLER_2D_ARRAY :: GLenum
-gl_INT_SAMPLER_2D_ARRAY = 0x8DCF
-
-gl_INT_SAMPLER_2D_RECT :: GLenum
-gl_INT_SAMPLER_2D_RECT = 0x8DCD
-
-gl_INT_SAMPLER_3D :: GLenum
-gl_INT_SAMPLER_3D = 0x8DCB
-
-gl_INT_SAMPLER_BUFFER :: GLenum
-gl_INT_SAMPLER_BUFFER = 0x8DD0
-
-gl_INT_SAMPLER_CUBE :: GLenum
-gl_INT_SAMPLER_CUBE = 0x8DCC
-
-gl_INT_VEC2 :: GLenum
-gl_INT_VEC2 = 0x8B53
-
-gl_INT_VEC3 :: GLenum
-gl_INT_VEC3 = 0x8B54
-
-gl_INT_VEC4 :: GLenum
-gl_INT_VEC4 = 0x8B55
-
-gl_INVALID_ENUM :: GLenum
-gl_INVALID_ENUM = 0x0500
-
-gl_INVALID_FRAMEBUFFER_OPERATION :: GLenum
-gl_INVALID_FRAMEBUFFER_OPERATION = 0x0506
-
-gl_INVALID_OPERATION :: GLenum
-gl_INVALID_OPERATION = 0x0502
-
-gl_INVALID_VALUE :: GLenum
-gl_INVALID_VALUE = 0x0501
-
-gl_INVERT :: GLenum
-gl_INVERT = 0x150A
-
-gl_KEEP :: GLenum
-gl_KEEP = 0x1E00
-
-gl_LEFT :: GLenum
-gl_LEFT = 0x0406
-
-gl_LEQUAL :: GLenum
-gl_LEQUAL = 0x0203
-
-gl_LESS :: GLenum
-gl_LESS = 0x0201
-
-gl_LINE :: GLenum
-gl_LINE = 0x1B01
-
-gl_LINEAR :: GLenum
-gl_LINEAR = 0x2601
-
-gl_LINEAR_MIPMAP_LINEAR :: GLenum
-gl_LINEAR_MIPMAP_LINEAR = 0x2703
-
-gl_LINEAR_MIPMAP_NEAREST :: GLenum
-gl_LINEAR_MIPMAP_NEAREST = 0x2701
-
-gl_LINES :: GLenum
-gl_LINES = 0x0001
-
-gl_LINE_LOOP :: GLenum
-gl_LINE_LOOP = 0x0002
-
-gl_LINE_SMOOTH :: GLenum
-gl_LINE_SMOOTH = 0x0B20
-
-gl_LINE_SMOOTH_HINT :: GLenum
-gl_LINE_SMOOTH_HINT = 0x0C52
-
-gl_LINE_STRIP :: GLenum
-gl_LINE_STRIP = 0x0003
-
-gl_LINE_WIDTH :: GLenum
-gl_LINE_WIDTH = 0x0B21
-
-gl_LINE_WIDTH_GRANULARITY :: GLenum
-gl_LINE_WIDTH_GRANULARITY = 0x0B23
-
-gl_LINE_WIDTH_RANGE :: GLenum
-gl_LINE_WIDTH_RANGE = 0x0B22
-
-gl_LINK_STATUS :: GLenum
-gl_LINK_STATUS = 0x8B82
-
-gl_LOGIC_OP_MODE :: GLenum
-gl_LOGIC_OP_MODE = 0x0BF0
-
-gl_LOWER_LEFT :: GLenum
-gl_LOWER_LEFT = 0x8CA1
-
-gl_MAJOR_VERSION :: GLenum
-gl_MAJOR_VERSION = 0x821B
-
-gl_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
-gl_MAP_FLUSH_EXPLICIT_BIT = 0x0010
-
-gl_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
-gl_MAP_INVALIDATE_BUFFER_BIT = 0x0008
-
-gl_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
-gl_MAP_INVALIDATE_RANGE_BIT = 0x0004
-
-gl_MAP_READ_BIT :: GLbitfield
-gl_MAP_READ_BIT = 0x0001
-
-gl_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
-gl_MAP_UNSYNCHRONIZED_BIT = 0x0020
-
-gl_MAP_WRITE_BIT :: GLbitfield
-gl_MAP_WRITE_BIT = 0x0002
-
-gl_MAX :: GLenum
-gl_MAX = 0x8008
-
-gl_MAX_3D_TEXTURE_SIZE :: GLenum
-gl_MAX_3D_TEXTURE_SIZE = 0x8073
-
-gl_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
-gl_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF
-
-gl_MAX_CLIP_DISTANCES :: GLenum
-gl_MAX_CLIP_DISTANCES = 0x0D32
-
-gl_MAX_COLOR_ATTACHMENTS :: GLenum
-gl_MAX_COLOR_ATTACHMENTS = 0x8CDF
-
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D
-
-gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
-gl_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C
-
-gl_MAX_DRAW_BUFFERS :: GLenum
-gl_MAX_DRAW_BUFFERS = 0x8824
-
-gl_MAX_ELEMENTS_INDICES :: GLenum
-gl_MAX_ELEMENTS_INDICES = 0x80E9
-
-gl_MAX_ELEMENTS_VERTICES :: GLenum
-gl_MAX_ELEMENTS_VERTICES = 0x80E8
-
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49
-
-gl_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
-gl_MAX_PROGRAM_TEXEL_OFFSET = 0x8905
-
-gl_MAX_RENDERBUFFER_SIZE :: GLenum
-gl_MAX_RENDERBUFFER_SIZE = 0x84E8
-
-gl_MAX_SAMPLES :: GLenum
-gl_MAX_SAMPLES = 0x8D57
-
-gl_MAX_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_TEXTURE_IMAGE_UNITS = 0x8872
-
-gl_MAX_TEXTURE_LOD_BIAS :: GLenum
-gl_MAX_TEXTURE_LOD_BIAS = 0x84FD
-
-gl_MAX_TEXTURE_SIZE :: GLenum
-gl_MAX_TEXTURE_SIZE = 0x0D33
-
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A
-
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B
-
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
-gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80
-
-gl_MAX_VARYING_COMPONENTS :: GLenum
-gl_MAX_VARYING_COMPONENTS = 0x8B4B
-
-gl_MAX_VARYING_FLOATS :: GLenum
-gl_MAX_VARYING_FLOATS = 0x8B4B
-
-gl_MAX_VERTEX_ATTRIBS :: GLenum
-gl_MAX_VERTEX_ATTRIBS = 0x8869
-
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C
-
-gl_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
-gl_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A
-
-gl_MAX_VIEWPORT_DIMS :: GLenum
-gl_MAX_VIEWPORT_DIMS = 0x0D3A
-
-gl_MIN :: GLenum
-gl_MIN = 0x8007
-
-gl_MINOR_VERSION :: GLenum
-gl_MINOR_VERSION = 0x821C
-
-gl_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
-gl_MIN_PROGRAM_TEXEL_OFFSET = 0x8904
-
-gl_MIRRORED_REPEAT :: GLenum
-gl_MIRRORED_REPEAT = 0x8370
-
-gl_MULTISAMPLE :: GLenum
-gl_MULTISAMPLE = 0x809D
-
-gl_NAND :: GLenum
-gl_NAND = 0x150E
-
-gl_NEAREST :: GLenum
-gl_NEAREST = 0x2600
-
-gl_NEAREST_MIPMAP_LINEAR :: GLenum
-gl_NEAREST_MIPMAP_LINEAR = 0x2702
-
-gl_NEAREST_MIPMAP_NEAREST :: GLenum
-gl_NEAREST_MIPMAP_NEAREST = 0x2700
-
-gl_NEVER :: GLenum
-gl_NEVER = 0x0200
-
-gl_NICEST :: GLenum
-gl_NICEST = 0x1102
-
-gl_NONE :: GLenum
-gl_NONE = 0
-
-gl_NOOP :: GLenum
-gl_NOOP = 0x1505
-
-gl_NOR :: GLenum
-gl_NOR = 0x1508
-
-gl_NOTEQUAL :: GLenum
-gl_NOTEQUAL = 0x0205
-
-gl_NO_ERROR :: GLenum
-gl_NO_ERROR = 0
-
-gl_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
-gl_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2
-
-gl_NUM_EXTENSIONS :: GLenum
-gl_NUM_EXTENSIONS = 0x821D
-
-gl_ONE :: GLenum
-gl_ONE = 1
-
-gl_ONE_MINUS_CONSTANT_ALPHA :: GLenum
-gl_ONE_MINUS_CONSTANT_ALPHA = 0x8004
-
-gl_ONE_MINUS_CONSTANT_COLOR :: GLenum
-gl_ONE_MINUS_CONSTANT_COLOR = 0x8002
-
-gl_ONE_MINUS_DST_ALPHA :: GLenum
-gl_ONE_MINUS_DST_ALPHA = 0x0305
-
-gl_ONE_MINUS_DST_COLOR :: GLenum
-gl_ONE_MINUS_DST_COLOR = 0x0307
-
-gl_ONE_MINUS_SRC_ALPHA :: GLenum
-gl_ONE_MINUS_SRC_ALPHA = 0x0303
-
-gl_ONE_MINUS_SRC_COLOR :: GLenum
-gl_ONE_MINUS_SRC_COLOR = 0x0301
-
-gl_OR :: GLenum
-gl_OR = 0x1507
-
-gl_OR_INVERTED :: GLenum
-gl_OR_INVERTED = 0x150D
-
-gl_OR_REVERSE :: GLenum
-gl_OR_REVERSE = 0x150B
-
-gl_OUT_OF_MEMORY :: GLenum
-gl_OUT_OF_MEMORY = 0x0505
-
-gl_PACK_ALIGNMENT :: GLenum
-gl_PACK_ALIGNMENT = 0x0D05
-
-gl_PACK_IMAGE_HEIGHT :: GLenum
-gl_PACK_IMAGE_HEIGHT = 0x806C
-
-gl_PACK_LSB_FIRST :: GLenum
-gl_PACK_LSB_FIRST = 0x0D01
-
-gl_PACK_ROW_LENGTH :: GLenum
-gl_PACK_ROW_LENGTH = 0x0D02
-
-gl_PACK_SKIP_IMAGES :: GLenum
-gl_PACK_SKIP_IMAGES = 0x806B
-
-gl_PACK_SKIP_PIXELS :: GLenum
-gl_PACK_SKIP_PIXELS = 0x0D04
-
-gl_PACK_SKIP_ROWS :: GLenum
-gl_PACK_SKIP_ROWS = 0x0D03
-
-gl_PACK_SWAP_BYTES :: GLenum
-gl_PACK_SWAP_BYTES = 0x0D00
-
-gl_PIXEL_PACK_BUFFER :: GLenum
-gl_PIXEL_PACK_BUFFER = 0x88EB
-
-gl_PIXEL_PACK_BUFFER_BINDING :: GLenum
-gl_PIXEL_PACK_BUFFER_BINDING = 0x88ED
-
-gl_PIXEL_UNPACK_BUFFER :: GLenum
-gl_PIXEL_UNPACK_BUFFER = 0x88EC
-
-gl_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
-gl_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF
-
-gl_POINT :: GLenum
-gl_POINT = 0x1B00
-
-gl_POINTS :: GLenum
-gl_POINTS = 0x0000
-
-gl_POINT_FADE_THRESHOLD_SIZE :: GLenum
-gl_POINT_FADE_THRESHOLD_SIZE = 0x8128
-
-gl_POINT_SIZE :: GLenum
-gl_POINT_SIZE = 0x0B11
-
-gl_POINT_SIZE_GRANULARITY :: GLenum
-gl_POINT_SIZE_GRANULARITY = 0x0B13
-
-gl_POINT_SIZE_RANGE :: GLenum
-gl_POINT_SIZE_RANGE = 0x0B12
-
-gl_POINT_SPRITE_COORD_ORIGIN :: GLenum
-gl_POINT_SPRITE_COORD_ORIGIN = 0x8CA0
-
-gl_POLYGON_OFFSET_FACTOR :: GLenum
-gl_POLYGON_OFFSET_FACTOR = 0x8038
-
-gl_POLYGON_OFFSET_FILL :: GLenum
-gl_POLYGON_OFFSET_FILL = 0x8037
-
-gl_POLYGON_OFFSET_LINE :: GLenum
-gl_POLYGON_OFFSET_LINE = 0x2A02
-
-gl_POLYGON_OFFSET_POINT :: GLenum
-gl_POLYGON_OFFSET_POINT = 0x2A01
-
-gl_POLYGON_OFFSET_UNITS :: GLenum
-gl_POLYGON_OFFSET_UNITS = 0x2A00
-
-gl_POLYGON_SMOOTH :: GLenum
-gl_POLYGON_SMOOTH = 0x0B41
-
-gl_POLYGON_SMOOTH_HINT :: GLenum
-gl_POLYGON_SMOOTH_HINT = 0x0C53
-
-gl_PRIMITIVES_GENERATED :: GLenum
-gl_PRIMITIVES_GENERATED = 0x8C87
-
-gl_PRIMITIVE_RESTART :: GLenum
-gl_PRIMITIVE_RESTART = 0x8F9D
-
-gl_PRIMITIVE_RESTART_INDEX :: GLenum
-gl_PRIMITIVE_RESTART_INDEX = 0x8F9E
-
-gl_PROXY_TEXTURE_1D :: GLenum
-gl_PROXY_TEXTURE_1D = 0x8063
-
-gl_PROXY_TEXTURE_1D_ARRAY :: GLenum
-gl_PROXY_TEXTURE_1D_ARRAY = 0x8C19
-
-gl_PROXY_TEXTURE_2D :: GLenum
-gl_PROXY_TEXTURE_2D = 0x8064
-
-gl_PROXY_TEXTURE_2D_ARRAY :: GLenum
-gl_PROXY_TEXTURE_2D_ARRAY = 0x8C1B
-
-gl_PROXY_TEXTURE_3D :: GLenum
-gl_PROXY_TEXTURE_3D = 0x8070
-
-gl_PROXY_TEXTURE_CUBE_MAP :: GLenum
-gl_PROXY_TEXTURE_CUBE_MAP = 0x851B
-
-gl_QUERY_BY_REGION_NO_WAIT :: GLenum
-gl_QUERY_BY_REGION_NO_WAIT = 0x8E16
-
-gl_QUERY_BY_REGION_WAIT :: GLenum
-gl_QUERY_BY_REGION_WAIT = 0x8E15
-
-gl_QUERY_COUNTER_BITS :: GLenum
-gl_QUERY_COUNTER_BITS = 0x8864
-
-gl_QUERY_NO_WAIT :: GLenum
-gl_QUERY_NO_WAIT = 0x8E14
-
-gl_QUERY_RESULT :: GLenum
-gl_QUERY_RESULT = 0x8866
-
-gl_QUERY_RESULT_AVAILABLE :: GLenum
-gl_QUERY_RESULT_AVAILABLE = 0x8867
-
-gl_QUERY_WAIT :: GLenum
-gl_QUERY_WAIT = 0x8E13
-
-gl_R11F_G11F_B10F :: GLenum
-gl_R11F_G11F_B10F = 0x8C3A
-
-gl_R16 :: GLenum
-gl_R16 = 0x822A
-
-gl_R16F :: GLenum
-gl_R16F = 0x822D
-
-gl_R16I :: GLenum
-gl_R16I = 0x8233
-
-gl_R16UI :: GLenum
-gl_R16UI = 0x8234
-
-gl_R16_SNORM :: GLenum
-gl_R16_SNORM = 0x8F98
-
-gl_R32F :: GLenum
-gl_R32F = 0x822E
-
-gl_R32I :: GLenum
-gl_R32I = 0x8235
-
-gl_R32UI :: GLenum
-gl_R32UI = 0x8236
-
-gl_R3_G3_B2 :: GLenum
-gl_R3_G3_B2 = 0x2A10
-
-gl_R8 :: GLenum
-gl_R8 = 0x8229
-
-gl_R8I :: GLenum
-gl_R8I = 0x8231
-
-gl_R8UI :: GLenum
-gl_R8UI = 0x8232
-
-gl_R8_SNORM :: GLenum
-gl_R8_SNORM = 0x8F94
-
-gl_RASTERIZER_DISCARD :: GLenum
-gl_RASTERIZER_DISCARD = 0x8C89
-
-gl_READ_BUFFER :: GLenum
-gl_READ_BUFFER = 0x0C02
-
-gl_READ_FRAMEBUFFER :: GLenum
-gl_READ_FRAMEBUFFER = 0x8CA8
-
-gl_READ_FRAMEBUFFER_BINDING :: GLenum
-gl_READ_FRAMEBUFFER_BINDING = 0x8CAA
-
-gl_READ_ONLY :: GLenum
-gl_READ_ONLY = 0x88B8
-
-gl_READ_WRITE :: GLenum
-gl_READ_WRITE = 0x88BA
-
-gl_RED :: GLenum
-gl_RED = 0x1903
-
-gl_RED_INTEGER :: GLenum
-gl_RED_INTEGER = 0x8D94
-
-gl_RED_SNORM :: GLenum
-gl_RED_SNORM = 0x8F90
-
-gl_RENDERBUFFER :: GLenum
-gl_RENDERBUFFER = 0x8D41
-
-gl_RENDERBUFFER_ALPHA_SIZE :: GLenum
-gl_RENDERBUFFER_ALPHA_SIZE = 0x8D53
-
-gl_RENDERBUFFER_BINDING :: GLenum
-gl_RENDERBUFFER_BINDING = 0x8CA7
-
-gl_RENDERBUFFER_BLUE_SIZE :: GLenum
-gl_RENDERBUFFER_BLUE_SIZE = 0x8D52
-
-gl_RENDERBUFFER_DEPTH_SIZE :: GLenum
-gl_RENDERBUFFER_DEPTH_SIZE = 0x8D54
-
-gl_RENDERBUFFER_GREEN_SIZE :: GLenum
-gl_RENDERBUFFER_GREEN_SIZE = 0x8D51
-
-gl_RENDERBUFFER_HEIGHT :: GLenum
-gl_RENDERBUFFER_HEIGHT = 0x8D43
-
-gl_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
-gl_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44
-
-gl_RENDERBUFFER_RED_SIZE :: GLenum
-gl_RENDERBUFFER_RED_SIZE = 0x8D50
-
-gl_RENDERBUFFER_SAMPLES :: GLenum
-gl_RENDERBUFFER_SAMPLES = 0x8CAB
-
-gl_RENDERBUFFER_STENCIL_SIZE :: GLenum
-gl_RENDERBUFFER_STENCIL_SIZE = 0x8D55
-
-gl_RENDERBUFFER_WIDTH :: GLenum
-gl_RENDERBUFFER_WIDTH = 0x8D42
-
-gl_RENDERER :: GLenum
-gl_RENDERER = 0x1F01
-
-gl_REPEAT :: GLenum
-gl_REPEAT = 0x2901
-
-gl_REPLACE :: GLenum
-gl_REPLACE = 0x1E01
-
-gl_RG :: GLenum
-gl_RG = 0x8227
-
-gl_RG16 :: GLenum
-gl_RG16 = 0x822C
-
-gl_RG16F :: GLenum
-gl_RG16F = 0x822F
-
-gl_RG16I :: GLenum
-gl_RG16I = 0x8239
-
-gl_RG16UI :: GLenum
-gl_RG16UI = 0x823A
-
-gl_RG16_SNORM :: GLenum
-gl_RG16_SNORM = 0x8F99
-
-gl_RG32F :: GLenum
-gl_RG32F = 0x8230
-
-gl_RG32I :: GLenum
-gl_RG32I = 0x823B
-
-gl_RG32UI :: GLenum
-gl_RG32UI = 0x823C
-
-gl_RG8 :: GLenum
-gl_RG8 = 0x822B
-
-gl_RG8I :: GLenum
-gl_RG8I = 0x8237
-
-gl_RG8UI :: GLenum
-gl_RG8UI = 0x8238
-
-gl_RG8_SNORM :: GLenum
-gl_RG8_SNORM = 0x8F95
-
-gl_RGB :: GLenum
-gl_RGB = 0x1907
-
-gl_RGB10 :: GLenum
-gl_RGB10 = 0x8052
-
-gl_RGB10_A2 :: GLenum
-gl_RGB10_A2 = 0x8059
-
-gl_RGB12 :: GLenum
-gl_RGB12 = 0x8053
-
-gl_RGB16 :: GLenum
-gl_RGB16 = 0x8054
-
-gl_RGB16F :: GLenum
-gl_RGB16F = 0x881B
-
-gl_RGB16I :: GLenum
-gl_RGB16I = 0x8D89
-
-gl_RGB16UI :: GLenum
-gl_RGB16UI = 0x8D77
-
-gl_RGB16_SNORM :: GLenum
-gl_RGB16_SNORM = 0x8F9A
-
-gl_RGB32F :: GLenum
-gl_RGB32F = 0x8815
-
-gl_RGB32I :: GLenum
-gl_RGB32I = 0x8D83
-
-gl_RGB32UI :: GLenum
-gl_RGB32UI = 0x8D71
-
-gl_RGB4 :: GLenum
-gl_RGB4 = 0x804F
-
-gl_RGB5 :: GLenum
-gl_RGB5 = 0x8050
-
-gl_RGB5_A1 :: GLenum
-gl_RGB5_A1 = 0x8057
-
-gl_RGB8 :: GLenum
-gl_RGB8 = 0x8051
-
-gl_RGB8I :: GLenum
-gl_RGB8I = 0x8D8F
-
-gl_RGB8UI :: GLenum
-gl_RGB8UI = 0x8D7D
-
-gl_RGB8_SNORM :: GLenum
-gl_RGB8_SNORM = 0x8F96
-
-gl_RGB9_E5 :: GLenum
-gl_RGB9_E5 = 0x8C3D
-
-gl_RGBA :: GLenum
-gl_RGBA = 0x1908
-
-gl_RGBA12 :: GLenum
-gl_RGBA12 = 0x805A
-
-gl_RGBA16 :: GLenum
-gl_RGBA16 = 0x805B
-
-gl_RGBA16F :: GLenum
-gl_RGBA16F = 0x881A
-
-gl_RGBA16I :: GLenum
-gl_RGBA16I = 0x8D88
-
-gl_RGBA16UI :: GLenum
-gl_RGBA16UI = 0x8D76
-
-gl_RGBA16_SNORM :: GLenum
-gl_RGBA16_SNORM = 0x8F9B
-
-gl_RGBA2 :: GLenum
-gl_RGBA2 = 0x8055
-
-gl_RGBA32F :: GLenum
-gl_RGBA32F = 0x8814
-
-gl_RGBA32I :: GLenum
-gl_RGBA32I = 0x8D82
-
-gl_RGBA32UI :: GLenum
-gl_RGBA32UI = 0x8D70
-
-gl_RGBA4 :: GLenum
-gl_RGBA4 = 0x8056
-
-gl_RGBA8 :: GLenum
-gl_RGBA8 = 0x8058
-
-gl_RGBA8I :: GLenum
-gl_RGBA8I = 0x8D8E
-
-gl_RGBA8UI :: GLenum
-gl_RGBA8UI = 0x8D7C
-
-gl_RGBA8_SNORM :: GLenum
-gl_RGBA8_SNORM = 0x8F97
-
-gl_RGBA_INTEGER :: GLenum
-gl_RGBA_INTEGER = 0x8D99
-
-gl_RGBA_SNORM :: GLenum
-gl_RGBA_SNORM = 0x8F93
-
-gl_RGB_INTEGER :: GLenum
-gl_RGB_INTEGER = 0x8D98
-
-gl_RGB_SNORM :: GLenum
-gl_RGB_SNORM = 0x8F92
-
-gl_RG_INTEGER :: GLenum
-gl_RG_INTEGER = 0x8228
-
-gl_RG_SNORM :: GLenum
-gl_RG_SNORM = 0x8F91
-
-gl_RIGHT :: GLenum
-gl_RIGHT = 0x0407
-
-gl_SAMPLER_1D :: GLenum
-gl_SAMPLER_1D = 0x8B5D
-
-gl_SAMPLER_1D_ARRAY :: GLenum
-gl_SAMPLER_1D_ARRAY = 0x8DC0
-
-gl_SAMPLER_1D_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3
-
-gl_SAMPLER_1D_SHADOW :: GLenum
-gl_SAMPLER_1D_SHADOW = 0x8B61
-
-gl_SAMPLER_2D :: GLenum
-gl_SAMPLER_2D = 0x8B5E
-
-gl_SAMPLER_2D_ARRAY :: GLenum
-gl_SAMPLER_2D_ARRAY = 0x8DC1
-
-gl_SAMPLER_2D_ARRAY_SHADOW :: GLenum
-gl_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4
-
-gl_SAMPLER_2D_SHADOW :: GLenum
-gl_SAMPLER_2D_SHADOW = 0x8B62
-
-gl_SAMPLER_3D :: GLenum
-gl_SAMPLER_3D = 0x8B5F
-
-gl_SAMPLER_BUFFER :: GLenum
-gl_SAMPLER_BUFFER = 0x8DC2
-
-gl_SAMPLER_CUBE :: GLenum
-gl_SAMPLER_CUBE = 0x8B60
-
-gl_SAMPLER_CUBE_SHADOW :: GLenum
-gl_SAMPLER_CUBE_SHADOW = 0x8DC5
-
-gl_SAMPLES :: GLenum
-gl_SAMPLES = 0x80A9
-
-gl_SAMPLES_PASSED :: GLenum
-gl_SAMPLES_PASSED = 0x8914
-
-gl_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
-gl_SAMPLE_ALPHA_TO_COVERAGE = 0x809E
-
-gl_SAMPLE_ALPHA_TO_ONE :: GLenum
-gl_SAMPLE_ALPHA_TO_ONE = 0x809F
-
-gl_SAMPLE_BUFFERS :: GLenum
-gl_SAMPLE_BUFFERS = 0x80A8
-
-gl_SAMPLE_COVERAGE :: GLenum
-gl_SAMPLE_COVERAGE = 0x80A0
-
-gl_SAMPLE_COVERAGE_INVERT :: GLenum
-gl_SAMPLE_COVERAGE_INVERT = 0x80AB
-
-gl_SAMPLE_COVERAGE_VALUE :: GLenum
-gl_SAMPLE_COVERAGE_VALUE = 0x80AA
-
-gl_SCISSOR_BOX :: GLenum
-gl_SCISSOR_BOX = 0x0C10
-
-gl_SCISSOR_TEST :: GLenum
-gl_SCISSOR_TEST = 0x0C11
-
-gl_SEPARATE_ATTRIBS :: GLenum
-gl_SEPARATE_ATTRIBS = 0x8C8D
-
-gl_SET :: GLenum
-gl_SET = 0x150F
-
-gl_SHADER_SOURCE_LENGTH :: GLenum
-gl_SHADER_SOURCE_LENGTH = 0x8B88
-
-gl_SHADER_TYPE :: GLenum
-gl_SHADER_TYPE = 0x8B4F
-
-gl_SHADING_LANGUAGE_VERSION :: GLenum
-gl_SHADING_LANGUAGE_VERSION = 0x8B8C
-
-gl_SHORT :: GLenum
-gl_SHORT = 0x1402
-
-gl_SIGNED_NORMALIZED :: GLenum
-gl_SIGNED_NORMALIZED = 0x8F9C
-
-gl_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
-gl_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23
-
-gl_SMOOTH_LINE_WIDTH_RANGE :: GLenum
-gl_SMOOTH_LINE_WIDTH_RANGE = 0x0B22
-
-gl_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
-gl_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13
-
-gl_SMOOTH_POINT_SIZE_RANGE :: GLenum
-gl_SMOOTH_POINT_SIZE_RANGE = 0x0B12
-
-gl_SRC_ALPHA :: GLenum
-gl_SRC_ALPHA = 0x0302
-
-gl_SRC_ALPHA_SATURATE :: GLenum
-gl_SRC_ALPHA_SATURATE = 0x0308
-
-gl_SRC_COLOR :: GLenum
-gl_SRC_COLOR = 0x0300
-
-gl_SRGB :: GLenum
-gl_SRGB = 0x8C40
-
-gl_SRGB8 :: GLenum
-gl_SRGB8 = 0x8C41
-
-gl_SRGB8_ALPHA8 :: GLenum
-gl_SRGB8_ALPHA8 = 0x8C43
-
-gl_SRGB_ALPHA :: GLenum
-gl_SRGB_ALPHA = 0x8C42
-
-gl_STATIC_COPY :: GLenum
-gl_STATIC_COPY = 0x88E6
-
-gl_STATIC_DRAW :: GLenum
-gl_STATIC_DRAW = 0x88E4
-
-gl_STATIC_READ :: GLenum
-gl_STATIC_READ = 0x88E5
-
-gl_STENCIL :: GLenum
-gl_STENCIL = 0x1802
-
-gl_STENCIL_ATTACHMENT :: GLenum
-gl_STENCIL_ATTACHMENT = 0x8D20
-
-gl_STENCIL_BACK_FAIL :: GLenum
-gl_STENCIL_BACK_FAIL = 0x8801
-
-gl_STENCIL_BACK_FUNC :: GLenum
-gl_STENCIL_BACK_FUNC = 0x8800
-
-gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802
-
-gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
-gl_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803
-
-gl_STENCIL_BACK_REF :: GLenum
-gl_STENCIL_BACK_REF = 0x8CA3
-
-gl_STENCIL_BACK_VALUE_MASK :: GLenum
-gl_STENCIL_BACK_VALUE_MASK = 0x8CA4
-
-gl_STENCIL_BACK_WRITEMASK :: GLenum
-gl_STENCIL_BACK_WRITEMASK = 0x8CA5
-
-gl_STENCIL_BUFFER :: GLenum
-gl_STENCIL_BUFFER = 0x8224
-
-gl_STENCIL_BUFFER_BIT :: GLbitfield
-gl_STENCIL_BUFFER_BIT = 0x00000400
-
-gl_STENCIL_CLEAR_VALUE :: GLenum
-gl_STENCIL_CLEAR_VALUE = 0x0B91
-
-gl_STENCIL_FAIL :: GLenum
-gl_STENCIL_FAIL = 0x0B94
-
-gl_STENCIL_FUNC :: GLenum
-gl_STENCIL_FUNC = 0x0B92
-
-gl_STENCIL_INDEX :: GLenum
-gl_STENCIL_INDEX = 0x1901
-
-gl_STENCIL_INDEX1 :: GLenum
-gl_STENCIL_INDEX1 = 0x8D46
-
-gl_STENCIL_INDEX16 :: GLenum
-gl_STENCIL_INDEX16 = 0x8D49
-
-gl_STENCIL_INDEX4 :: GLenum
-gl_STENCIL_INDEX4 = 0x8D47
-
-gl_STENCIL_INDEX8 :: GLenum
-gl_STENCIL_INDEX8 = 0x8D48
-
-gl_STENCIL_PASS_DEPTH_FAIL :: GLenum
-gl_STENCIL_PASS_DEPTH_FAIL = 0x0B95
-
-gl_STENCIL_PASS_DEPTH_PASS :: GLenum
-gl_STENCIL_PASS_DEPTH_PASS = 0x0B96
-
-gl_STENCIL_REF :: GLenum
-gl_STENCIL_REF = 0x0B97
-
-gl_STENCIL_TEST :: GLenum
-gl_STENCIL_TEST = 0x0B90
-
-gl_STENCIL_VALUE_MASK :: GLenum
-gl_STENCIL_VALUE_MASK = 0x0B93
-
-gl_STENCIL_WRITEMASK :: GLenum
-gl_STENCIL_WRITEMASK = 0x0B98
-
-gl_STEREO :: GLenum
-gl_STEREO = 0x0C33
-
-gl_STREAM_COPY :: GLenum
-gl_STREAM_COPY = 0x88E2
-
-gl_STREAM_DRAW :: GLenum
-gl_STREAM_DRAW = 0x88E0
-
-gl_STREAM_READ :: GLenum
-gl_STREAM_READ = 0x88E1
-
-gl_SUBPIXEL_BITS :: GLenum
-gl_SUBPIXEL_BITS = 0x0D50
-
-gl_TEXTURE :: GLenum
-gl_TEXTURE = 0x1702
-
-gl_TEXTURE0 :: GLenum
-gl_TEXTURE0 = 0x84C0
-
-gl_TEXTURE1 :: GLenum
-gl_TEXTURE1 = 0x84C1
-
-gl_TEXTURE10 :: GLenum
-gl_TEXTURE10 = 0x84CA
-
-gl_TEXTURE11 :: GLenum
-gl_TEXTURE11 = 0x84CB
-
-gl_TEXTURE12 :: GLenum
-gl_TEXTURE12 = 0x84CC
-
-gl_TEXTURE13 :: GLenum
-gl_TEXTURE13 = 0x84CD
-
-gl_TEXTURE14 :: GLenum
-gl_TEXTURE14 = 0x84CE
-
-gl_TEXTURE15 :: GLenum
-gl_TEXTURE15 = 0x84CF
-
-gl_TEXTURE16 :: GLenum
-gl_TEXTURE16 = 0x84D0
-
-gl_TEXTURE17 :: GLenum
-gl_TEXTURE17 = 0x84D1
-
-gl_TEXTURE18 :: GLenum
-gl_TEXTURE18 = 0x84D2
-
-gl_TEXTURE19 :: GLenum
-gl_TEXTURE19 = 0x84D3
-
-gl_TEXTURE2 :: GLenum
-gl_TEXTURE2 = 0x84C2
-
-gl_TEXTURE20 :: GLenum
-gl_TEXTURE20 = 0x84D4
-
-gl_TEXTURE21 :: GLenum
-gl_TEXTURE21 = 0x84D5
-
-gl_TEXTURE22 :: GLenum
-gl_TEXTURE22 = 0x84D6
-
-gl_TEXTURE23 :: GLenum
-gl_TEXTURE23 = 0x84D7
-
-gl_TEXTURE24 :: GLenum
-gl_TEXTURE24 = 0x84D8
-
-gl_TEXTURE25 :: GLenum
-gl_TEXTURE25 = 0x84D9
-
-gl_TEXTURE26 :: GLenum
-gl_TEXTURE26 = 0x84DA
-
-gl_TEXTURE27 :: GLenum
-gl_TEXTURE27 = 0x84DB
-
-gl_TEXTURE28 :: GLenum
-gl_TEXTURE28 = 0x84DC
-
-gl_TEXTURE29 :: GLenum
-gl_TEXTURE29 = 0x84DD
-
-gl_TEXTURE3 :: GLenum
-gl_TEXTURE3 = 0x84C3
-
-gl_TEXTURE30 :: GLenum
-gl_TEXTURE30 = 0x84DE
-
-gl_TEXTURE31 :: GLenum
-gl_TEXTURE31 = 0x84DF
-
-gl_TEXTURE4 :: GLenum
-gl_TEXTURE4 = 0x84C4
-
-gl_TEXTURE5 :: GLenum
-gl_TEXTURE5 = 0x84C5
-
-gl_TEXTURE6 :: GLenum
-gl_TEXTURE6 = 0x84C6
-
-gl_TEXTURE7 :: GLenum
-gl_TEXTURE7 = 0x84C7
-
-gl_TEXTURE8 :: GLenum
-gl_TEXTURE8 = 0x84C8
-
-gl_TEXTURE9 :: GLenum
-gl_TEXTURE9 = 0x84C9
-
-gl_TEXTURE_1D :: GLenum
-gl_TEXTURE_1D = 0x0DE0
-
-gl_TEXTURE_1D_ARRAY :: GLenum
-gl_TEXTURE_1D_ARRAY = 0x8C18
-
-gl_TEXTURE_2D :: GLenum
-gl_TEXTURE_2D = 0x0DE1
-
-gl_TEXTURE_2D_ARRAY :: GLenum
-gl_TEXTURE_2D_ARRAY = 0x8C1A
-
-gl_TEXTURE_3D :: GLenum
-gl_TEXTURE_3D = 0x806F
-
-gl_TEXTURE_ALPHA_SIZE :: GLenum
-gl_TEXTURE_ALPHA_SIZE = 0x805F
-
-gl_TEXTURE_ALPHA_TYPE :: GLenum
-gl_TEXTURE_ALPHA_TYPE = 0x8C13
-
-gl_TEXTURE_BASE_LEVEL :: GLenum
-gl_TEXTURE_BASE_LEVEL = 0x813C
-
-gl_TEXTURE_BINDING_1D :: GLenum
-gl_TEXTURE_BINDING_1D = 0x8068
-
-gl_TEXTURE_BINDING_1D_ARRAY :: GLenum
-gl_TEXTURE_BINDING_1D_ARRAY = 0x8C1C
-
-gl_TEXTURE_BINDING_2D :: GLenum
-gl_TEXTURE_BINDING_2D = 0x8069
-
-gl_TEXTURE_BINDING_2D_ARRAY :: GLenum
-gl_TEXTURE_BINDING_2D_ARRAY = 0x8C1D
-
-gl_TEXTURE_BINDING_3D :: GLenum
-gl_TEXTURE_BINDING_3D = 0x806A
-
-gl_TEXTURE_BINDING_CUBE_MAP :: GLenum
-gl_TEXTURE_BINDING_CUBE_MAP = 0x8514
-
-gl_TEXTURE_BLUE_SIZE :: GLenum
-gl_TEXTURE_BLUE_SIZE = 0x805E
-
-gl_TEXTURE_BLUE_TYPE :: GLenum
-gl_TEXTURE_BLUE_TYPE = 0x8C12
-
-gl_TEXTURE_BORDER :: GLenum
-gl_TEXTURE_BORDER = 0x1005
-
-gl_TEXTURE_BORDER_COLOR :: GLenum
-gl_TEXTURE_BORDER_COLOR = 0x1004
-
-gl_TEXTURE_COMPARE_FUNC :: GLenum
-gl_TEXTURE_COMPARE_FUNC = 0x884D
-
-gl_TEXTURE_COMPARE_MODE :: GLenum
-gl_TEXTURE_COMPARE_MODE = 0x884C
-
-gl_TEXTURE_COMPRESSED :: GLenum
-gl_TEXTURE_COMPRESSED = 0x86A1
-
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
-gl_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0
-
-gl_TEXTURE_COMPRESSION_HINT :: GLenum
-gl_TEXTURE_COMPRESSION_HINT = 0x84EF
-
-gl_TEXTURE_CUBE_MAP :: GLenum
-gl_TEXTURE_CUBE_MAP = 0x8513
-
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516
-
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518
-
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A
-
-gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
-
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517
-
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
-gl_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519
-
-gl_TEXTURE_DEPTH :: GLenum
-gl_TEXTURE_DEPTH = 0x8071
-
-gl_TEXTURE_DEPTH_SIZE :: GLenum
-gl_TEXTURE_DEPTH_SIZE = 0x884A
-
-gl_TEXTURE_DEPTH_TYPE :: GLenum
-gl_TEXTURE_DEPTH_TYPE = 0x8C16
-
-gl_TEXTURE_GREEN_SIZE :: GLenum
-gl_TEXTURE_GREEN_SIZE = 0x805D
-
-gl_TEXTURE_GREEN_TYPE :: GLenum
-gl_TEXTURE_GREEN_TYPE = 0x8C11
-
-gl_TEXTURE_HEIGHT :: GLenum
-gl_TEXTURE_HEIGHT = 0x1001
-
-gl_TEXTURE_INTERNAL_FORMAT :: GLenum
-gl_TEXTURE_INTERNAL_FORMAT = 0x1003
-
-gl_TEXTURE_LOD_BIAS :: GLenum
-gl_TEXTURE_LOD_BIAS = 0x8501
-
-gl_TEXTURE_MAG_FILTER :: GLenum
-gl_TEXTURE_MAG_FILTER = 0x2800
-
-gl_TEXTURE_MAX_LEVEL :: GLenum
-gl_TEXTURE_MAX_LEVEL = 0x813D
-
-gl_TEXTURE_MAX_LOD :: GLenum
-gl_TEXTURE_MAX_LOD = 0x813B
-
-gl_TEXTURE_MIN_FILTER :: GLenum
-gl_TEXTURE_MIN_FILTER = 0x2801
-
-gl_TEXTURE_MIN_LOD :: GLenum
-gl_TEXTURE_MIN_LOD = 0x813A
-
-gl_TEXTURE_RED_SIZE :: GLenum
-gl_TEXTURE_RED_SIZE = 0x805C
-
-gl_TEXTURE_RED_TYPE :: GLenum
-gl_TEXTURE_RED_TYPE = 0x8C10
-
-gl_TEXTURE_SHARED_SIZE :: GLenum
-gl_TEXTURE_SHARED_SIZE = 0x8C3F
-
-gl_TEXTURE_STENCIL_SIZE :: GLenum
-gl_TEXTURE_STENCIL_SIZE = 0x88F1
-
-gl_TEXTURE_WIDTH :: GLenum
-gl_TEXTURE_WIDTH = 0x1000
-
-gl_TEXTURE_WRAP_R :: GLenum
-gl_TEXTURE_WRAP_R = 0x8072
-
-gl_TEXTURE_WRAP_S :: GLenum
-gl_TEXTURE_WRAP_S = 0x2802
-
-gl_TEXTURE_WRAP_T :: GLenum
-gl_TEXTURE_WRAP_T = 0x2803
-
-gl_TRANSFORM_FEEDBACK_BUFFER :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E
-
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F
-
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F
-
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85
-
-gl_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
-gl_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84
-
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
-gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88
-
-gl_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83
-
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
-gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76
-
-gl_TRIANGLES :: GLenum
-gl_TRIANGLES = 0x0004
-
-gl_TRIANGLE_FAN :: GLenum
-gl_TRIANGLE_FAN = 0x0006
-
-gl_TRIANGLE_STRIP :: GLenum
-gl_TRIANGLE_STRIP = 0x0005
-
-gl_TRUE :: GLenum
-gl_TRUE = 1
-
-gl_UNPACK_ALIGNMENT :: GLenum
-gl_UNPACK_ALIGNMENT = 0x0CF5
-
-gl_UNPACK_IMAGE_HEIGHT :: GLenum
-gl_UNPACK_IMAGE_HEIGHT = 0x806E
-
-gl_UNPACK_LSB_FIRST :: GLenum
-gl_UNPACK_LSB_FIRST = 0x0CF1
-
-gl_UNPACK_ROW_LENGTH :: GLenum
-gl_UNPACK_ROW_LENGTH = 0x0CF2
-
-gl_UNPACK_SKIP_IMAGES :: GLenum
-gl_UNPACK_SKIP_IMAGES = 0x806D
-
-gl_UNPACK_SKIP_PIXELS :: GLenum
-gl_UNPACK_SKIP_PIXELS = 0x0CF4
-
-gl_UNPACK_SKIP_ROWS :: GLenum
-gl_UNPACK_SKIP_ROWS = 0x0CF3
-
-gl_UNPACK_SWAP_BYTES :: GLenum
-gl_UNPACK_SWAP_BYTES = 0x0CF0
-
-gl_UNSIGNED_BYTE :: GLenum
-gl_UNSIGNED_BYTE = 0x1401
-
-gl_UNSIGNED_BYTE_2_3_3_REV :: GLenum
-gl_UNSIGNED_BYTE_2_3_3_REV = 0x8362
-
-gl_UNSIGNED_BYTE_3_3_2 :: GLenum
-gl_UNSIGNED_BYTE_3_3_2 = 0x8032
-
-gl_UNSIGNED_INT :: GLenum
-gl_UNSIGNED_INT = 0x1405
-
-gl_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
-gl_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B
-
-gl_UNSIGNED_INT_10_10_10_2 :: GLenum
-gl_UNSIGNED_INT_10_10_10_2 = 0x8036
-
-gl_UNSIGNED_INT_24_8 :: GLenum
-gl_UNSIGNED_INT_24_8 = 0x84FA
-
-gl_UNSIGNED_INT_2_10_10_10_REV :: GLenum
-gl_UNSIGNED_INT_2_10_10_10_REV = 0x8368
-
-gl_UNSIGNED_INT_5_9_9_9_REV :: GLenum
-gl_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E
-
-gl_UNSIGNED_INT_8_8_8_8 :: GLenum
-gl_UNSIGNED_INT_8_8_8_8 = 0x8035
-
-gl_UNSIGNED_INT_8_8_8_8_REV :: GLenum
-gl_UNSIGNED_INT_8_8_8_8_REV = 0x8367
-
-gl_UNSIGNED_INT_SAMPLER_1D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D = 0x8DD1
-
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6
-
-gl_UNSIGNED_INT_SAMPLER_2D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D = 0x8DD2
-
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7
-
-gl_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
-gl_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5
-
-gl_UNSIGNED_INT_SAMPLER_3D :: GLenum
-gl_UNSIGNED_INT_SAMPLER_3D = 0x8DD3
-
-gl_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
-gl_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8
-
-gl_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
-gl_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4
-
-gl_UNSIGNED_INT_VEC2 :: GLenum
-gl_UNSIGNED_INT_VEC2 = 0x8DC6
-
-gl_UNSIGNED_INT_VEC3 :: GLenum
-gl_UNSIGNED_INT_VEC3 = 0x8DC7
-
-gl_UNSIGNED_INT_VEC4 :: GLenum
-gl_UNSIGNED_INT_VEC4 = 0x8DC8
-
-gl_UNSIGNED_NORMALIZED :: GLenum
-gl_UNSIGNED_NORMALIZED = 0x8C17
-
-gl_UNSIGNED_SHORT :: GLenum
-gl_UNSIGNED_SHORT = 0x1403
-
-gl_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
-gl_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366
-
-gl_UNSIGNED_SHORT_4_4_4_4 :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4 = 0x8033
-
-gl_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
-gl_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365
-
-gl_UNSIGNED_SHORT_5_5_5_1 :: GLenum
-gl_UNSIGNED_SHORT_5_5_5_1 = 0x8034
-
-gl_UNSIGNED_SHORT_5_6_5 :: GLenum
-gl_UNSIGNED_SHORT_5_6_5 = 0x8363
-
-gl_UNSIGNED_SHORT_5_6_5_REV :: GLenum
-gl_UNSIGNED_SHORT_5_6_5_REV = 0x8364
-
-gl_UPPER_LEFT :: GLenum
-gl_UPPER_LEFT = 0x8CA2
-
-gl_VALIDATE_STATUS :: GLenum
-gl_VALIDATE_STATUS = 0x8B83
-
-gl_VENDOR :: GLenum
-gl_VENDOR = 0x1F00
-
-gl_VERSION :: GLenum
-gl_VERSION = 0x1F02
-
-gl_VERTEX_ARRAY_BINDING :: GLenum
-gl_VERTEX_ARRAY_BINDING = 0x85B5
-
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F
-
-gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622
-
-gl_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD
-
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A
-
-gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645
-
-gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623
-
-gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624
-
-gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
-gl_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625
-
-gl_VERTEX_PROGRAM_POINT_SIZE :: GLenum
-gl_VERTEX_PROGRAM_POINT_SIZE = 0x8642
-
-gl_VERTEX_SHADER :: GLenum
-gl_VERTEX_SHADER = 0x8B31
-
-gl_VIEWPORT :: GLenum
-gl_VIEWPORT = 0x0BA2
-
-gl_WRITE_ONLY :: GLenum
-gl_WRITE_ONLY = 0x88B9
-
-gl_XOR :: GLenum
-gl_XOR = 0x1506
-
-gl_ZERO :: GLenum
-gl_ZERO = 0
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31/Types.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31/Types.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31/Types.hs
+++ /dev/null
@@ -1,37 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31.Types
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- This module corresponds to table 2.2 in section 2.3 (Command Syntax) of the
--- OpenGL 3.1 specs.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core31.Types (
-   GLboolean,
-   GLbyte,
-   GLubyte,
-   GLchar,
-   GLshort,
-   GLushort,
-   GLint,
-   GLuint,
-   GLsizei,
-   GLenum,
-   GLintptr,
-   GLsizeiptr,
-   GLbitfield,
-   GLhalf,
-   GLfloat,
-   GLclampf,
-   GLdouble,
-   GLclampd
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Types
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core32.hs b/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
@@ -1,57 +1,1143 @@
-{-# LANGUAGE CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core32
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions, tokens and types from the OpenGL 3.2 core, see
--- <http://www.opengl.org/registry/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Core32 (
-   -- * OpenGL 3.1 core
-   module Graphics.Rendering.OpenGL.Raw.Core31,
-   -- * Extensions which had some hidden entitites in OpenGL 3.1 core
-   module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
-   -- * Extensions promoted to OpenGL 3.2 core
-   module Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
-   module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
-   module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
-   module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
-   module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
-   module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
-   module Graphics.Rendering.OpenGL.Raw.ARB.Sync,
-   -- * Additional OpenGL 3.2 entities
-   glGetInteger64i_v
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Core31
-
-import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-
-import Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
-import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.ARB.Sync
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
-
-#include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "OpenGL 3.2"
-
-EXTENSION_ENTRY(dyn_glGetInteger64i_v,ptr_glGetInteger64i_v,"glGetInteger64i_v",glGetInteger64i_v,GLenum -> GLuint -> Ptr GLint64 -> IO ())
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core32
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core32 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_WRITEMASK,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_HALF_FLOAT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_MAJOR_VERSION,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MULTISAMPLE,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  -- * Functions
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindTexture,
+  glBindVertexArray,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearStencil,
+  glClientWaitSync,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glEnable,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetMultisamplefv,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPrimitiveRestartIndex,
+  glProvokingVertex,
+  glReadBuffer,
+  glReadPixels,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glSampleCoverage,
+  glSampleMaski,
+  glScissor,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribPointer,
+  glViewport,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core33.hs b/src/Graphics/Rendering/OpenGL/Raw/Core33.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core33.hs
@@ -0,0 +1,1187 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core33
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core33 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_WRITEMASK,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_HALF_FLOAT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_MAJOR_VERSION,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIRRORED_REPEAT,
+  gl_MULTISAMPLE,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  -- * Functions
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindVertexArray,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearStencil,
+  glClientWaitSync,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glEnable,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetMultisamplefv,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPrimitiveRestartIndex,
+  glProvokingVertex,
+  glQueryCounter,
+  glReadBuffer,
+  glReadPixels,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScissor,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glViewport,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core40.hs b/src/Graphics/Rendering/OpenGL/Raw/Core40.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core40.hs
@@ -0,0 +1,1311 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core40
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core40 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_WRITEMASK,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_HALF_FLOAT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_MAJOR_VERSION,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIRRORED_REPEAT,
+  gl_MULTISAMPLE,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  -- * Functions
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearStencil,
+  glClientWaitSync,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackStream,
+  glEnable,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetMultisamplefv,
+  glGetProgramInfoLog,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMinSampleShading,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPrimitiveRestartIndex,
+  glProvokingVertex,
+  glQueryCounter,
+  glReadBuffer,
+  glReadPixels,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScissor,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glViewport,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core41.hs b/src/Graphics/Rendering/OpenGL/Raw/Core41.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core41.hs
@@ -0,0 +1,1434 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core41
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core41 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_WRITEMASK,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_WRITE_BUFFER,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_MAJOR_VERSION,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIRRORED_REPEAT,
+  gl_MULTISAMPLE,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  -- * Functions
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearStencil,
+  glClientWaitSync,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseVertex,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackStream,
+  glEnable,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetMultisamplefv,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMinSampleShading,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPrimitiveRestartIndex,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glQueryCounter,
+  glReadBuffer,
+  glReadPixels,
+  glReleaseShaderCompiler,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glShaderBinary,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core42.hs b/src/Graphics/Rendering/OpenGL/Raw/Core42.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core42.hs
@@ -0,0 +1,1558 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core42
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core42 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_WRITEMASK,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_MAJOR_VERSION,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIRRORED_REPEAT,
+  gl_MULTISAMPLE,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_OBJECT_TYPE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  -- * Functions
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearStencil,
+  glClientWaitSync,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEnable,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformativ,
+  glGetMultisamplefv,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMemoryBarrier,
+  glMinSampleShading,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPrimitiveRestartIndex,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glQueryCounter,
+  glReadBuffer,
+  glReadPixels,
+  glReleaseShaderCompiler,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glShaderBinary,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage3D,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTransformFeedbackVaryings,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribDivisor,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core43.hs b/src/Graphics/Rendering/OpenGL/Raw/Core43.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core43.hs
@@ -0,0 +1,1864 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core43
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core43 (
+  -- * Types
+  GLDEBUGPROC,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_RESOURCES,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_VARIABLES,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ARRAY_SIZE,
+  gl_ARRAY_STRIDE,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_AUTO_GENERATE_MIPMAP,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLOCK_INDEX,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_BINDING,
+  gl_BUFFER_DATA_SIZE,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BUFFER_VARIABLE,
+  gl_BYTE,
+  gl_CAVEAT_SUPPORT,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLEAR_BUFFER,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_COMPONENTS,
+  gl_COLOR_ENCODING,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_RENDERABLE,
+  gl_COLOR_WRITEMASK,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_R11_EAC,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RG11_EAC,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGB8_ETC2,
+  gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA8_ETC2_EAC,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_R11_EAC,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG11_EAC,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  gl_COMPRESSED_SRGB8_ETC2,
+  gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_COMPUTE_SHADER,
+  gl_COMPUTE_SHADER_BIT,
+  gl_COMPUTE_SUBROUTINE,
+  gl_COMPUTE_SUBROUTINE_UNIFORM,
+  gl_COMPUTE_TEXTURE,
+  gl_COMPUTE_WORK_GROUP_SIZE,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_DEBUG_BIT,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DEBUG_CALLBACK_FUNCTION,
+  gl_DEBUG_CALLBACK_USER_PARAM,
+  gl_DEBUG_GROUP_STACK_DEPTH,
+  gl_DEBUG_LOGGED_MESSAGES,
+  gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  gl_DEBUG_OUTPUT,
+  gl_DEBUG_OUTPUT_SYNCHRONOUS,
+  gl_DEBUG_SEVERITY_HIGH,
+  gl_DEBUG_SEVERITY_LOW,
+  gl_DEBUG_SEVERITY_MEDIUM,
+  gl_DEBUG_SEVERITY_NOTIFICATION,
+  gl_DEBUG_SOURCE_API,
+  gl_DEBUG_SOURCE_APPLICATION,
+  gl_DEBUG_SOURCE_OTHER,
+  gl_DEBUG_SOURCE_SHADER_COMPILER,
+  gl_DEBUG_SOURCE_THIRD_PARTY,
+  gl_DEBUG_SOURCE_WINDOW_SYSTEM,
+  gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  gl_DEBUG_TYPE_ERROR,
+  gl_DEBUG_TYPE_MARKER,
+  gl_DEBUG_TYPE_OTHER,
+  gl_DEBUG_TYPE_PERFORMANCE,
+  gl_DEBUG_TYPE_POP_GROUP,
+  gl_DEBUG_TYPE_PORTABILITY,
+  gl_DEBUG_TYPE_PUSH_GROUP,
+  gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_COMPONENTS,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_RENDERABLE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_STENCIL_TEXTURE_MODE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DISPATCH_INDIRECT_BUFFER,
+  gl_DISPATCH_INDIRECT_BUFFER_BINDING,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FILTER,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAGMENT_SUBROUTINE,
+  gl_FRAGMENT_SUBROUTINE_UNIFORM,
+  gl_FRAGMENT_TEXTURE,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_BLEND,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  gl_FRAMEBUFFER_DEFAULT_HEIGHT,
+  gl_FRAMEBUFFER_DEFAULT_LAYERS,
+  gl_FRAMEBUFFER_DEFAULT_SAMPLES,
+  gl_FRAMEBUFFER_DEFAULT_WIDTH,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_RENDERABLE,
+  gl_FRAMEBUFFER_RENDERABLE_LAYERED,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FULL_SUPPORT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_SUBROUTINE,
+  gl_GEOMETRY_SUBROUTINE_UNIFORM,
+  gl_GEOMETRY_TEXTURE,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GET_TEXTURE_IMAGE_FORMAT,
+  gl_GET_TEXTURE_IMAGE_TYPE,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CLASS_10_10_10_2,
+  gl_IMAGE_CLASS_11_11_10,
+  gl_IMAGE_CLASS_1_X_16,
+  gl_IMAGE_CLASS_1_X_32,
+  gl_IMAGE_CLASS_1_X_8,
+  gl_IMAGE_CLASS_2_X_16,
+  gl_IMAGE_CLASS_2_X_32,
+  gl_IMAGE_CLASS_2_X_8,
+  gl_IMAGE_CLASS_4_X_16,
+  gl_IMAGE_CLASS_4_X_32,
+  gl_IMAGE_CLASS_4_X_8,
+  gl_IMAGE_COMPATIBILITY_CLASS,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMAGE_PIXEL_FORMAT,
+  gl_IMAGE_PIXEL_TYPE,
+  gl_IMAGE_TEXEL_SIZE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERNALFORMAT_ALPHA_SIZE,
+  gl_INTERNALFORMAT_ALPHA_TYPE,
+  gl_INTERNALFORMAT_BLUE_SIZE,
+  gl_INTERNALFORMAT_BLUE_TYPE,
+  gl_INTERNALFORMAT_DEPTH_SIZE,
+  gl_INTERNALFORMAT_DEPTH_TYPE,
+  gl_INTERNALFORMAT_GREEN_SIZE,
+  gl_INTERNALFORMAT_GREEN_TYPE,
+  gl_INTERNALFORMAT_PREFERRED,
+  gl_INTERNALFORMAT_RED_SIZE,
+  gl_INTERNALFORMAT_RED_TYPE,
+  gl_INTERNALFORMAT_SHARED_SIZE,
+  gl_INTERNALFORMAT_STENCIL_SIZE,
+  gl_INTERNALFORMAT_STENCIL_TYPE,
+  gl_INTERNALFORMAT_SUPPORTED,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_IS_PER_PATCH,
+  gl_IS_ROW_MAJOR,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOCATION,
+  gl_LOCATION_INDEX,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_MAJOR_VERSION,
+  gl_MANUAL_GENERATE_MIPMAP,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_STRIDE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_DIMENSIONS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTERS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMPUTE_IMAGE_UNIFORMS,
+  gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMPUTE_UNIFORM_BLOCKS,
+  gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_WORK_GROUP_COUNT,
+  gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  gl_MAX_COMPUTE_WORK_GROUP_SIZE,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEBUG_GROUP_STACK_DEPTH,
+  gl_MAX_DEBUG_LOGGED_MESSAGES,
+  gl_MAX_DEBUG_MESSAGE_LENGTH,
+  gl_MAX_DEPTH,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_ELEMENT_INDEX,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_FRAMEBUFFER_HEIGHT,
+  gl_MAX_FRAMEBUFFER_LAYERS,
+  gl_MAX_FRAMEBUFFER_SAMPLES,
+  gl_MAX_FRAMEBUFFER_WIDTH,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_HEIGHT,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LABEL_LENGTH,
+  gl_MAX_LAYERS,
+  gl_MAX_NAME_LENGTH,
+  gl_MAX_NUM_ACTIVE_VARIABLES,
+  gl_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_UNIFORM_LOCATIONS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_ATTRIB_BINDINGS,
+  gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MAX_WIDTH,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIPMAP,
+  gl_MIRRORED_REPEAT,
+  gl_MULTISAMPLE,
+  gl_NAME_LENGTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_ACTIVE_VARIABLES,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_NUM_SHADING_LANGUAGE_VERSIONS,
+  gl_OBJECT_TYPE,
+  gl_OFFSET,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_FIXED_INDEX,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_INPUT,
+  gl_PROGRAM_OUTPUT,
+  gl_PROGRAM_PIPELINE,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_WAIT,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_PIXELS,
+  gl_READ_PIXELS_FORMAT,
+  gl_READ_PIXELS_TYPE,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_REFERENCED_BY_COMPUTE_SHADER,
+  gl_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_REFERENCED_BY_VERTEX_SHADER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_IMAGE_ATOMIC,
+  gl_SHADER_IMAGE_LOAD,
+  gl_SHADER_IMAGE_STORE,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_STORAGE_BARRIER_BIT,
+  gl_SHADER_STORAGE_BLOCK,
+  gl_SHADER_STORAGE_BUFFER,
+  gl_SHADER_STORAGE_BUFFER_BINDING,
+  gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  gl_SHADER_STORAGE_BUFFER_SIZE,
+  gl_SHADER_STORAGE_BUFFER_START,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_SRGB_READ,
+  gl_SRGB_WRITE,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_COMPONENTS,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_RENDERABLE,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_CONTROL_SUBROUTINE,
+  gl_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  gl_TESS_CONTROL_TEXTURE,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_EVALUATION_SUBROUTINE,
+  gl_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  gl_TESS_EVALUATION_TEXTURE,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_BUFFER_OFFSET,
+  gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  gl_TEXTURE_BUFFER_SIZE,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  gl_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  gl_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GATHER,
+  gl_TEXTURE_GATHER_SHADOW,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMAGE_FORMAT,
+  gl_TEXTURE_IMAGE_TYPE,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_IMMUTABLE_LEVELS,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHADOW,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_VIEW,
+  gl_TEXTURE_VIEW_MIN_LAYER,
+  gl_TEXTURE_VIEW_MIN_LEVEL,
+  gl_TEXTURE_VIEW_NUM_LAYERS,
+  gl_TEXTURE_VIEW_NUM_LEVELS,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TOP_LEVEL_ARRAY_SIZE,
+  gl_TOP_LEVEL_ARRAY_STRIDE,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYING,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_TYPE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_LONG,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_BINDING,
+  gl_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_VERTEX_BINDING_BUFFER,
+  gl_VERTEX_BINDING_DIVISOR,
+  gl_VERTEX_BINDING_OFFSET,
+  gl_VERTEX_BINDING_STRIDE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VERTEX_SUBROUTINE,
+  gl_VERTEX_SUBROUTINE_UNIFORM,
+  gl_VERTEX_TEXTURE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_VIEW_CLASS_128_BITS,
+  gl_VIEW_CLASS_16_BITS,
+  gl_VIEW_CLASS_24_BITS,
+  gl_VIEW_CLASS_32_BITS,
+  gl_VIEW_CLASS_48_BITS,
+  gl_VIEW_CLASS_64_BITS,
+  gl_VIEW_CLASS_8_BITS,
+  gl_VIEW_CLASS_96_BITS,
+  gl_VIEW_CLASS_BPTC_FLOAT,
+  gl_VIEW_CLASS_BPTC_UNORM,
+  gl_VIEW_CLASS_RGTC1_RED,
+  gl_VIEW_CLASS_RGTC2_RG,
+  gl_VIEW_CLASS_S3TC_DXT1_RGB,
+  gl_VIEW_CLASS_S3TC_DXT1_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT3_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT5_RGBA,
+  gl_VIEW_COMPATIBILITY_CLASS,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  -- * Functions
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindTexture,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBindVertexBuffer,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferData,
+  glClearBufferSubData,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearStencil,
+  glClientWaitSync,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyImageSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDispatchCompute,
+  glDispatchComputeIndirect,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEnable,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFramebufferParameteri,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetDebugMessageLog,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetFramebufferParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformati64v,
+  glGetInternalformativ,
+  glGetMultisamplefv,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPointerv,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramInterfaceiv,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceName,
+  glGetProgramResourceiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMemoryBarrier,
+  glMinSampleShading,
+  glMultiDrawArrays,
+  glMultiDrawArraysIndirect,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsIndirect,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPopDebugGroup,
+  glPrimitiveRestartIndex,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushDebugGroup,
+  glQueryCounter,
+  glReadBuffer,
+  glReadPixels,
+  glReleaseShaderCompiler,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glShaderBinary,
+  glShaderSource,
+  glShaderStorageBlockBinding,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexBufferRange,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage2DMultisample,
+  glTexStorage3D,
+  glTexStorage3DMultisample,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTextureView,
+  glTransformFeedbackVaryings,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribBinding,
+  glVertexAttribDivisor,
+  glVertexAttribFormat,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIFormat,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLFormat,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexBindingDivisor,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core44.hs b/src/Graphics/Rendering/OpenGL/Raw/Core44.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core44.hs
@@ -0,0 +1,1892 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core44
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core44 (
+  -- * Types
+  GLDEBUGPROC,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_RESOURCES,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_VARIABLES,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ARRAY_SIZE,
+  gl_ARRAY_STRIDE,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_AUTO_GENERATE_MIPMAP,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLOCK_INDEX,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_BINDING,
+  gl_BUFFER_DATA_SIZE,
+  gl_BUFFER_IMMUTABLE_STORAGE,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_STORAGE_FLAGS,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BUFFER_VARIABLE,
+  gl_BYTE,
+  gl_CAVEAT_SUPPORT,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLEAR_BUFFER,
+  gl_CLEAR_TEXTURE,
+  gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  gl_CLIENT_STORAGE_BIT,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_COMPONENTS,
+  gl_COLOR_ENCODING,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_RENDERABLE,
+  gl_COLOR_WRITEMASK,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_R11_EAC,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RG11_EAC,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGB8_ETC2,
+  gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA8_ETC2_EAC,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_R11_EAC,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG11_EAC,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  gl_COMPRESSED_SRGB8_ETC2,
+  gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_COMPUTE_SHADER,
+  gl_COMPUTE_SHADER_BIT,
+  gl_COMPUTE_SUBROUTINE,
+  gl_COMPUTE_SUBROUTINE_UNIFORM,
+  gl_COMPUTE_TEXTURE,
+  gl_COMPUTE_WORK_GROUP_SIZE,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_DEBUG_BIT,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DEBUG_CALLBACK_FUNCTION,
+  gl_DEBUG_CALLBACK_USER_PARAM,
+  gl_DEBUG_GROUP_STACK_DEPTH,
+  gl_DEBUG_LOGGED_MESSAGES,
+  gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  gl_DEBUG_OUTPUT,
+  gl_DEBUG_OUTPUT_SYNCHRONOUS,
+  gl_DEBUG_SEVERITY_HIGH,
+  gl_DEBUG_SEVERITY_LOW,
+  gl_DEBUG_SEVERITY_MEDIUM,
+  gl_DEBUG_SEVERITY_NOTIFICATION,
+  gl_DEBUG_SOURCE_API,
+  gl_DEBUG_SOURCE_APPLICATION,
+  gl_DEBUG_SOURCE_OTHER,
+  gl_DEBUG_SOURCE_SHADER_COMPILER,
+  gl_DEBUG_SOURCE_THIRD_PARTY,
+  gl_DEBUG_SOURCE_WINDOW_SYSTEM,
+  gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  gl_DEBUG_TYPE_ERROR,
+  gl_DEBUG_TYPE_MARKER,
+  gl_DEBUG_TYPE_OTHER,
+  gl_DEBUG_TYPE_PERFORMANCE,
+  gl_DEBUG_TYPE_POP_GROUP,
+  gl_DEBUG_TYPE_PORTABILITY,
+  gl_DEBUG_TYPE_PUSH_GROUP,
+  gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_COMPONENTS,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_RENDERABLE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_STENCIL_TEXTURE_MODE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DISPATCH_INDIRECT_BUFFER,
+  gl_DISPATCH_INDIRECT_BUFFER_BINDING,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_DYNAMIC_STORAGE_BIT,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FILTER,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAGMENT_SUBROUTINE,
+  gl_FRAGMENT_SUBROUTINE_UNIFORM,
+  gl_FRAGMENT_TEXTURE,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_BLEND,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  gl_FRAMEBUFFER_DEFAULT_HEIGHT,
+  gl_FRAMEBUFFER_DEFAULT_LAYERS,
+  gl_FRAMEBUFFER_DEFAULT_SAMPLES,
+  gl_FRAMEBUFFER_DEFAULT_WIDTH,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_RENDERABLE,
+  gl_FRAMEBUFFER_RENDERABLE_LAYERED,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FULL_SUPPORT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_SUBROUTINE,
+  gl_GEOMETRY_SUBROUTINE_UNIFORM,
+  gl_GEOMETRY_TEXTURE,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GET_TEXTURE_IMAGE_FORMAT,
+  gl_GET_TEXTURE_IMAGE_TYPE,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CLASS_10_10_10_2,
+  gl_IMAGE_CLASS_11_11_10,
+  gl_IMAGE_CLASS_1_X_16,
+  gl_IMAGE_CLASS_1_X_32,
+  gl_IMAGE_CLASS_1_X_8,
+  gl_IMAGE_CLASS_2_X_16,
+  gl_IMAGE_CLASS_2_X_32,
+  gl_IMAGE_CLASS_2_X_8,
+  gl_IMAGE_CLASS_4_X_16,
+  gl_IMAGE_CLASS_4_X_32,
+  gl_IMAGE_CLASS_4_X_8,
+  gl_IMAGE_COMPATIBILITY_CLASS,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMAGE_PIXEL_FORMAT,
+  gl_IMAGE_PIXEL_TYPE,
+  gl_IMAGE_TEXEL_SIZE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERNALFORMAT_ALPHA_SIZE,
+  gl_INTERNALFORMAT_ALPHA_TYPE,
+  gl_INTERNALFORMAT_BLUE_SIZE,
+  gl_INTERNALFORMAT_BLUE_TYPE,
+  gl_INTERNALFORMAT_DEPTH_SIZE,
+  gl_INTERNALFORMAT_DEPTH_TYPE,
+  gl_INTERNALFORMAT_GREEN_SIZE,
+  gl_INTERNALFORMAT_GREEN_TYPE,
+  gl_INTERNALFORMAT_PREFERRED,
+  gl_INTERNALFORMAT_RED_SIZE,
+  gl_INTERNALFORMAT_RED_TYPE,
+  gl_INTERNALFORMAT_SHARED_SIZE,
+  gl_INTERNALFORMAT_STENCIL_SIZE,
+  gl_INTERNALFORMAT_STENCIL_TYPE,
+  gl_INTERNALFORMAT_SUPPORTED,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_IS_PER_PATCH,
+  gl_IS_ROW_MAJOR,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOCATION,
+  gl_LOCATION_COMPONENT,
+  gl_LOCATION_INDEX,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_MAJOR_VERSION,
+  gl_MANUAL_GENERATE_MIPMAP,
+  gl_MAP_COHERENT_BIT,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_PERSISTENT_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_STRIDE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_DIMENSIONS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTERS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMPUTE_IMAGE_UNIFORMS,
+  gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMPUTE_UNIFORM_BLOCKS,
+  gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_WORK_GROUP_COUNT,
+  gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  gl_MAX_COMPUTE_WORK_GROUP_SIZE,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DEBUG_GROUP_STACK_DEPTH,
+  gl_MAX_DEBUG_LOGGED_MESSAGES,
+  gl_MAX_DEBUG_MESSAGE_LENGTH,
+  gl_MAX_DEPTH,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_ELEMENT_INDEX,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_FRAMEBUFFER_HEIGHT,
+  gl_MAX_FRAMEBUFFER_LAYERS,
+  gl_MAX_FRAMEBUFFER_SAMPLES,
+  gl_MAX_FRAMEBUFFER_WIDTH,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_HEIGHT,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LABEL_LENGTH,
+  gl_MAX_LAYERS,
+  gl_MAX_NAME_LENGTH,
+  gl_MAX_NUM_ACTIVE_VARIABLES,
+  gl_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_UNIFORM_LOCATIONS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_ATTRIB_BINDINGS,
+  gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_MAX_VERTEX_ATTRIB_STRIDE,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MAX_WIDTH,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIPMAP,
+  gl_MIRRORED_REPEAT,
+  gl_MIRROR_CLAMP_TO_EDGE,
+  gl_MULTISAMPLE,
+  gl_NAME_LENGTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_ACTIVE_VARIABLES,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_NUM_SHADING_LANGUAGE_VERSIONS,
+  gl_OBJECT_TYPE,
+  gl_OFFSET,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_FIXED_INDEX,
+  gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_INPUT,
+  gl_PROGRAM_OUTPUT,
+  gl_PROGRAM_PIPELINE,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY,
+  gl_QUERY_BUFFER,
+  gl_QUERY_BUFFER_BARRIER_BIT,
+  gl_QUERY_BUFFER_BINDING,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_RESULT_NO_WAIT,
+  gl_QUERY_WAIT,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_PIXELS,
+  gl_READ_PIXELS_FORMAT,
+  gl_READ_PIXELS_TYPE,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_REFERENCED_BY_COMPUTE_SHADER,
+  gl_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_REFERENCED_BY_VERTEX_SHADER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_IMAGE_ATOMIC,
+  gl_SHADER_IMAGE_LOAD,
+  gl_SHADER_IMAGE_STORE,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_STORAGE_BARRIER_BIT,
+  gl_SHADER_STORAGE_BLOCK,
+  gl_SHADER_STORAGE_BUFFER,
+  gl_SHADER_STORAGE_BUFFER_BINDING,
+  gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  gl_SHADER_STORAGE_BUFFER_SIZE,
+  gl_SHADER_STORAGE_BUFFER_START,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_SRGB_READ,
+  gl_SRGB_WRITE,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_COMPONENTS,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_RENDERABLE,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_CONTROL_SUBROUTINE,
+  gl_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  gl_TESS_CONTROL_TEXTURE,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_EVALUATION_SUBROUTINE,
+  gl_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  gl_TESS_EVALUATION_TEXTURE,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_BINDING,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_BUFFER_OFFSET,
+  gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  gl_TEXTURE_BUFFER_SIZE,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  gl_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  gl_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GATHER,
+  gl_TEXTURE_GATHER_SHADOW,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMAGE_FORMAT,
+  gl_TEXTURE_IMAGE_TYPE,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_IMMUTABLE_LEVELS,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHADOW,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_VIEW,
+  gl_TEXTURE_VIEW_MIN_LAYER,
+  gl_TEXTURE_VIEW_MIN_LEVEL,
+  gl_TEXTURE_VIEW_NUM_LAYERS,
+  gl_TEXTURE_VIEW_NUM_LEVELS,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TOP_LEVEL_ARRAY_SIZE,
+  gl_TOP_LEVEL_ARRAY_STRIDE,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYING,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_TYPE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_LONG,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_BINDING,
+  gl_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_VERTEX_BINDING_BUFFER,
+  gl_VERTEX_BINDING_DIVISOR,
+  gl_VERTEX_BINDING_OFFSET,
+  gl_VERTEX_BINDING_STRIDE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VERTEX_SUBROUTINE,
+  gl_VERTEX_SUBROUTINE_UNIFORM,
+  gl_VERTEX_TEXTURE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_VIEW_CLASS_128_BITS,
+  gl_VIEW_CLASS_16_BITS,
+  gl_VIEW_CLASS_24_BITS,
+  gl_VIEW_CLASS_32_BITS,
+  gl_VIEW_CLASS_48_BITS,
+  gl_VIEW_CLASS_64_BITS,
+  gl_VIEW_CLASS_8_BITS,
+  gl_VIEW_CLASS_96_BITS,
+  gl_VIEW_CLASS_BPTC_FLOAT,
+  gl_VIEW_CLASS_BPTC_UNORM,
+  gl_VIEW_CLASS_RGTC1_RED,
+  gl_VIEW_CLASS_RGTC2_RG,
+  gl_VIEW_CLASS_S3TC_DXT1_RGB,
+  gl_VIEW_CLASS_S3TC_DXT1_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT3_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT5_RGBA,
+  gl_VIEW_COMPATIBILITY_CLASS,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  -- * Functions
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindBuffersBase,
+  glBindBuffersRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindImageTextures,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindSamplers,
+  glBindTexture,
+  glBindTextures,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBindVertexBuffer,
+  glBindVertexBuffers,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBufferData,
+  glBufferStorage,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferData,
+  glClearBufferSubData,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearStencil,
+  glClearTexImage,
+  glClearTexSubImage,
+  glClientWaitSync,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyBufferSubData,
+  glCopyImageSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCullFace,
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDispatchCompute,
+  glDispatchComputeIndirect,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEnable,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFramebufferParameteri,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetDebugMessageLog,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetFramebufferParameteriv,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformati64v,
+  glGetInternalformativ,
+  glGetMultisamplefv,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPointerv,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramInterfaceiv,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceName,
+  glGetProgramResourceiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTransformFeedbackVarying,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMemoryBarrier,
+  glMinSampleShading,
+  glMultiDrawArrays,
+  glMultiDrawArraysIndirect,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsIndirect,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPopDebugGroup,
+  glPrimitiveRestartIndex,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushDebugGroup,
+  glQueryCounter,
+  glReadBuffer,
+  glReadPixels,
+  glReleaseShaderCompiler,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glShaderBinary,
+  glShaderSource,
+  glShaderStorageBlockBinding,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexBufferRange,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage2DMultisample,
+  glTexStorage3D,
+  glTexStorage3DMultisample,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTextureView,
+  glTransformFeedbackVaryings,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribBinding,
+  glVertexAttribDivisor,
+  glVertexAttribFormat,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIFormat,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLFormat,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexBindingDivisor,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core45.hs b/src/Graphics/Rendering/OpenGL/Raw/Core45.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core45.hs
@@ -0,0 +1,2024 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Core45
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Core45 (
+  -- * Types
+  GLDEBUGPROC,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_PROGRAM,
+  gl_ACTIVE_RESOURCES,
+  gl_ACTIVE_SUBROUTINES,
+  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  gl_ACTIVE_SUBROUTINE_UNIFORMS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_BLOCKS,
+  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ACTIVE_VARIABLES,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALL_BARRIER_BITS,
+  gl_ALL_SHADER_BITS,
+  gl_ALPHA,
+  gl_ALREADY_SIGNALED,
+  gl_ALWAYS,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ANY_SAMPLES_PASSED,
+  gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ARRAY_SIZE,
+  gl_ARRAY_STRIDE,
+  gl_ATOMIC_COUNTER_BARRIER_BIT,
+  gl_ATOMIC_COUNTER_BUFFER,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  gl_ATOMIC_COUNTER_BUFFER_BINDING,
+  gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  gl_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_ATOMIC_COUNTER_BUFFER_START,
+  gl_ATTACHED_SHADERS,
+  gl_AUTO_GENERATE_MIPMAP,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BGRA_INTEGER,
+  gl_BGR_INTEGER,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLOCK_INDEX,
+  gl_BLUE,
+  gl_BLUE_INTEGER,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_ACCESS_FLAGS,
+  gl_BUFFER_BINDING,
+  gl_BUFFER_DATA_SIZE,
+  gl_BUFFER_IMMUTABLE_STORAGE,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_LENGTH,
+  gl_BUFFER_MAP_OFFSET,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_STORAGE_FLAGS,
+  gl_BUFFER_UPDATE_BARRIER_BIT,
+  gl_BUFFER_USAGE,
+  gl_BUFFER_VARIABLE,
+  gl_BYTE,
+  gl_CAVEAT_SUPPORT,
+  gl_CCW,
+  gl_CLAMP_READ_COLOR,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLEAR_BUFFER,
+  gl_CLEAR_TEXTURE,
+  gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  gl_CLIENT_STORAGE_BIT,
+  gl_CLIP_DEPTH_MODE,
+  gl_CLIP_DISTANCE0,
+  gl_CLIP_DISTANCE1,
+  gl_CLIP_DISTANCE2,
+  gl_CLIP_DISTANCE3,
+  gl_CLIP_DISTANCE4,
+  gl_CLIP_DISTANCE5,
+  gl_CLIP_DISTANCE6,
+  gl_CLIP_DISTANCE7,
+  gl_CLIP_ORIGIN,
+  gl_COLOR,
+  gl_COLOR_ATTACHMENT0,
+  gl_COLOR_ATTACHMENT1,
+  gl_COLOR_ATTACHMENT10,
+  gl_COLOR_ATTACHMENT11,
+  gl_COLOR_ATTACHMENT12,
+  gl_COLOR_ATTACHMENT13,
+  gl_COLOR_ATTACHMENT14,
+  gl_COLOR_ATTACHMENT15,
+  gl_COLOR_ATTACHMENT2,
+  gl_COLOR_ATTACHMENT3,
+  gl_COLOR_ATTACHMENT4,
+  gl_COLOR_ATTACHMENT5,
+  gl_COLOR_ATTACHMENT6,
+  gl_COLOR_ATTACHMENT7,
+  gl_COLOR_ATTACHMENT8,
+  gl_COLOR_ATTACHMENT9,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_COMPONENTS,
+  gl_COLOR_ENCODING,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_RENDERABLE,
+  gl_COLOR_WRITEMASK,
+  gl_COMMAND_BARRIER_BIT,
+  gl_COMPARE_REF_TO_TEXTURE,
+  gl_COMPATIBLE_SUBROUTINES,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_R11_EAC,
+  gl_COMPRESSED_RED,
+  gl_COMPRESSED_RED_RGTC1,
+  gl_COMPRESSED_RG,
+  gl_COMPRESSED_RG11_EAC,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGB8_ETC2,
+  gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_RGBA8_ETC2_EAC,
+  gl_COMPRESSED_RGBA_BPTC_UNORM,
+  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  gl_COMPRESSED_RG_RGTC2,
+  gl_COMPRESSED_SIGNED_R11_EAC,
+  gl_COMPRESSED_SIGNED_RED_RGTC1,
+  gl_COMPRESSED_SIGNED_RG11_EAC,
+  gl_COMPRESSED_SIGNED_RG_RGTC2,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  gl_COMPRESSED_SRGB8_ETC2,
+  gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_COMPUTE_SHADER,
+  gl_COMPUTE_SHADER_BIT,
+  gl_COMPUTE_SUBROUTINE,
+  gl_COMPUTE_SUBROUTINE_UNIFORM,
+  gl_COMPUTE_TEXTURE,
+  gl_COMPUTE_WORK_GROUP_SIZE,
+  gl_CONDITION_SATISFIED,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_COLOR,
+  gl_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  gl_CONTEXT_CORE_PROFILE_BIT,
+  gl_CONTEXT_FLAGS,
+  gl_CONTEXT_FLAG_DEBUG_BIT,
+  gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT,
+  gl_CONTEXT_LOST,
+  gl_CONTEXT_PROFILE_MASK,
+  gl_CONTEXT_RELEASE_BEHAVIOR,
+  gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_READ_BUFFER,
+  gl_COPY_READ_BUFFER_BINDING,
+  gl_COPY_WRITE_BUFFER,
+  gl_COPY_WRITE_BUFFER_BINDING,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DEBUG_CALLBACK_FUNCTION,
+  gl_DEBUG_CALLBACK_USER_PARAM,
+  gl_DEBUG_GROUP_STACK_DEPTH,
+  gl_DEBUG_LOGGED_MESSAGES,
+  gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  gl_DEBUG_OUTPUT,
+  gl_DEBUG_OUTPUT_SYNCHRONOUS,
+  gl_DEBUG_SEVERITY_HIGH,
+  gl_DEBUG_SEVERITY_LOW,
+  gl_DEBUG_SEVERITY_MEDIUM,
+  gl_DEBUG_SEVERITY_NOTIFICATION,
+  gl_DEBUG_SOURCE_API,
+  gl_DEBUG_SOURCE_APPLICATION,
+  gl_DEBUG_SOURCE_OTHER,
+  gl_DEBUG_SOURCE_SHADER_COMPILER,
+  gl_DEBUG_SOURCE_THIRD_PARTY,
+  gl_DEBUG_SOURCE_WINDOW_SYSTEM,
+  gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  gl_DEBUG_TYPE_ERROR,
+  gl_DEBUG_TYPE_MARKER,
+  gl_DEBUG_TYPE_OTHER,
+  gl_DEBUG_TYPE_PERFORMANCE,
+  gl_DEBUG_TYPE_POP_GROUP,
+  gl_DEBUG_TYPE_PORTABILITY,
+  gl_DEBUG_TYPE_PUSH_GROUP,
+  gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH24_STENCIL8,
+  gl_DEPTH32F_STENCIL8,
+  gl_DEPTH_ATTACHMENT,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLAMP,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_COMPONENT32F,
+  gl_DEPTH_COMPONENTS,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_RENDERABLE,
+  gl_DEPTH_STENCIL,
+  gl_DEPTH_STENCIL_ATTACHMENT,
+  gl_DEPTH_STENCIL_TEXTURE_MODE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DISPATCH_INDIRECT_BUFFER,
+  gl_DISPATCH_INDIRECT_BUFFER_BINDING,
+  gl_DITHER,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DOUBLE_MAT2,
+  gl_DOUBLE_MAT2x3,
+  gl_DOUBLE_MAT2x4,
+  gl_DOUBLE_MAT3,
+  gl_DOUBLE_MAT3x2,
+  gl_DOUBLE_MAT3x4,
+  gl_DOUBLE_MAT4,
+  gl_DOUBLE_MAT4x2,
+  gl_DOUBLE_MAT4x3,
+  gl_DOUBLE_VEC2,
+  gl_DOUBLE_VEC3,
+  gl_DOUBLE_VEC4,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_FRAMEBUFFER,
+  gl_DRAW_FRAMEBUFFER_BINDING,
+  gl_DRAW_INDIRECT_BUFFER,
+  gl_DRAW_INDIRECT_BUFFER_BINDING,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_DYNAMIC_STORAGE_BIT,
+  gl_ELEMENT_ARRAY_BARRIER_BIT,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EXTENSIONS,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FILL,
+  gl_FILTER,
+  gl_FIRST_VERTEX_CONVENTION,
+  gl_FIXED,
+  gl_FIXED_ONLY,
+  gl_FLOAT,
+  gl_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FRACTIONAL_EVEN,
+  gl_FRACTIONAL_ODD,
+  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_BIT,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRAGMENT_SUBROUTINE,
+  gl_FRAGMENT_SUBROUTINE_UNIFORM,
+  gl_FRAGMENT_TEXTURE,
+  gl_FRAMEBUFFER,
+  gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  gl_FRAMEBUFFER_BARRIER_BIT,
+  gl_FRAMEBUFFER_BINDING,
+  gl_FRAMEBUFFER_BLEND,
+  gl_FRAMEBUFFER_COMPLETE,
+  gl_FRAMEBUFFER_DEFAULT,
+  gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  gl_FRAMEBUFFER_DEFAULT_HEIGHT,
+  gl_FRAMEBUFFER_DEFAULT_LAYERS,
+  gl_FRAMEBUFFER_DEFAULT_SAMPLES,
+  gl_FRAMEBUFFER_DEFAULT_WIDTH,
+  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  gl_FRAMEBUFFER_RENDERABLE,
+  gl_FRAMEBUFFER_RENDERABLE_LAYERED,
+  gl_FRAMEBUFFER_SRGB,
+  gl_FRAMEBUFFER_UNDEFINED,
+  gl_FRAMEBUFFER_UNSUPPORTED,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FULL_SUPPORT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GEOMETRY_INPUT_TYPE,
+  gl_GEOMETRY_OUTPUT_TYPE,
+  gl_GEOMETRY_SHADER,
+  gl_GEOMETRY_SHADER_BIT,
+  gl_GEOMETRY_SHADER_INVOCATIONS,
+  gl_GEOMETRY_SUBROUTINE,
+  gl_GEOMETRY_SUBROUTINE_UNIFORM,
+  gl_GEOMETRY_TEXTURE,
+  gl_GEOMETRY_VERTICES_OUT,
+  gl_GEQUAL,
+  gl_GET_TEXTURE_IMAGE_FORMAT,
+  gl_GET_TEXTURE_IMAGE_TYPE,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_INTEGER,
+  gl_GUILTY_CONTEXT_RESET,
+  gl_HALF_FLOAT,
+  gl_HIGH_FLOAT,
+  gl_HIGH_INT,
+  gl_IMAGE_1D,
+  gl_IMAGE_1D_ARRAY,
+  gl_IMAGE_2D,
+  gl_IMAGE_2D_ARRAY,
+  gl_IMAGE_2D_MULTISAMPLE,
+  gl_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_IMAGE_2D_RECT,
+  gl_IMAGE_3D,
+  gl_IMAGE_BINDING_ACCESS,
+  gl_IMAGE_BINDING_FORMAT,
+  gl_IMAGE_BINDING_LAYER,
+  gl_IMAGE_BINDING_LAYERED,
+  gl_IMAGE_BINDING_LEVEL,
+  gl_IMAGE_BINDING_NAME,
+  gl_IMAGE_BUFFER,
+  gl_IMAGE_CLASS_10_10_10_2,
+  gl_IMAGE_CLASS_11_11_10,
+  gl_IMAGE_CLASS_1_X_16,
+  gl_IMAGE_CLASS_1_X_32,
+  gl_IMAGE_CLASS_1_X_8,
+  gl_IMAGE_CLASS_2_X_16,
+  gl_IMAGE_CLASS_2_X_32,
+  gl_IMAGE_CLASS_2_X_8,
+  gl_IMAGE_CLASS_4_X_16,
+  gl_IMAGE_CLASS_4_X_32,
+  gl_IMAGE_CLASS_4_X_8,
+  gl_IMAGE_COMPATIBILITY_CLASS,
+  gl_IMAGE_CUBE,
+  gl_IMAGE_CUBE_MAP_ARRAY,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  gl_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  gl_IMAGE_PIXEL_FORMAT,
+  gl_IMAGE_PIXEL_TYPE,
+  gl_IMAGE_TEXEL_SIZE,
+  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
+  gl_IMPLEMENTATION_COLOR_READ_TYPE,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INFO_LOG_LENGTH,
+  gl_INNOCENT_CONTEXT_RESET,
+  gl_INT,
+  gl_INTERLEAVED_ATTRIBS,
+  gl_INTERNALFORMAT_ALPHA_SIZE,
+  gl_INTERNALFORMAT_ALPHA_TYPE,
+  gl_INTERNALFORMAT_BLUE_SIZE,
+  gl_INTERNALFORMAT_BLUE_TYPE,
+  gl_INTERNALFORMAT_DEPTH_SIZE,
+  gl_INTERNALFORMAT_DEPTH_TYPE,
+  gl_INTERNALFORMAT_GREEN_SIZE,
+  gl_INTERNALFORMAT_GREEN_TYPE,
+  gl_INTERNALFORMAT_PREFERRED,
+  gl_INTERNALFORMAT_RED_SIZE,
+  gl_INTERNALFORMAT_RED_TYPE,
+  gl_INTERNALFORMAT_SHARED_SIZE,
+  gl_INTERNALFORMAT_STENCIL_SIZE,
+  gl_INTERNALFORMAT_STENCIL_TYPE,
+  gl_INTERNALFORMAT_SUPPORTED,
+  gl_INT_2_10_10_10_REV,
+  gl_INT_IMAGE_1D,
+  gl_INT_IMAGE_1D_ARRAY,
+  gl_INT_IMAGE_2D,
+  gl_INT_IMAGE_2D_ARRAY,
+  gl_INT_IMAGE_2D_MULTISAMPLE,
+  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_INT_IMAGE_2D_RECT,
+  gl_INT_IMAGE_3D,
+  gl_INT_IMAGE_BUFFER,
+  gl_INT_IMAGE_CUBE,
+  gl_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_INT_SAMPLER_1D,
+  gl_INT_SAMPLER_1D_ARRAY,
+  gl_INT_SAMPLER_2D,
+  gl_INT_SAMPLER_2D_ARRAY,
+  gl_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_INT_SAMPLER_2D_RECT,
+  gl_INT_SAMPLER_3D,
+  gl_INT_SAMPLER_BUFFER,
+  gl_INT_SAMPLER_CUBE,
+  gl_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_FRAMEBUFFER_OPERATION,
+  gl_INVALID_INDEX,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_ISOLINES,
+  gl_IS_PER_PATCH,
+  gl_IS_ROW_MAJOR,
+  gl_KEEP,
+  gl_LAST_VERTEX_CONVENTION,
+  gl_LAYER_PROVOKING_VERTEX,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINES_ADJACENCY,
+  gl_LINE_LOOP,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STRIP,
+  gl_LINE_STRIP_ADJACENCY,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LOCATION,
+  gl_LOCATION_COMPONENT,
+  gl_LOCATION_INDEX,
+  gl_LOGIC_OP_MODE,
+  gl_LOSE_CONTEXT_ON_RESET,
+  gl_LOWER_LEFT,
+  gl_LOW_FLOAT,
+  gl_LOW_INT,
+  gl_MAJOR_VERSION,
+  gl_MANUAL_GENERATE_MIPMAP,
+  gl_MAP_COHERENT_BIT,
+  gl_MAP_FLUSH_EXPLICIT_BIT,
+  gl_MAP_INVALIDATE_BUFFER_BIT,
+  gl_MAP_INVALIDATE_RANGE_BIT,
+  gl_MAP_PERSISTENT_BIT,
+  gl_MAP_READ_BIT,
+  gl_MAP_UNSYNCHRONIZED_BIT,
+  gl_MAP_WRITE_BIT,
+  gl_MATRIX_STRIDE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ARRAY_TEXTURE_LAYERS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  gl_MAX_CLIP_DISTANCES,
+  gl_MAX_COLOR_ATTACHMENTS,
+  gl_MAX_COLOR_TEXTURE_SAMPLES,
+  gl_MAX_COMBINED_ATOMIC_COUNTERS,
+  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES,
+  gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_DIMENSIONS,
+  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_IMAGE_UNIFORMS,
+  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMBINED_UNIFORM_BLOCKS,
+  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTERS,
+  gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_COMPUTE_IMAGE_UNIFORMS,
+  gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  gl_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  gl_MAX_COMPUTE_UNIFORM_BLOCKS,
+  gl_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  gl_MAX_COMPUTE_WORK_GROUP_COUNT,
+  gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  gl_MAX_COMPUTE_WORK_GROUP_SIZE,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_CULL_DISTANCES,
+  gl_MAX_DEBUG_GROUP_STACK_DEPTH,
+  gl_MAX_DEBUG_LOGGED_MESSAGES,
+  gl_MAX_DEBUG_MESSAGE_LENGTH,
+  gl_MAX_DEPTH,
+  gl_MAX_DEPTH_TEXTURE_SAMPLES,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_ELEMENT_INDEX,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  gl_MAX_FRAGMENT_INPUT_COMPONENTS,
+  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
+  gl_MAX_FRAMEBUFFER_HEIGHT,
+  gl_MAX_FRAMEBUFFER_LAYERS,
+  gl_MAX_FRAMEBUFFER_SAMPLES,
+  gl_MAX_FRAMEBUFFER_WIDTH,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  gl_MAX_GEOMETRY_INPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_OUTPUT_VERTICES,
+  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  gl_MAX_HEIGHT,
+  gl_MAX_IMAGE_SAMPLES,
+  gl_MAX_IMAGE_UNITS,
+  gl_MAX_INTEGER_SAMPLES,
+  gl_MAX_LABEL_LENGTH,
+  gl_MAX_LAYERS,
+  gl_MAX_NAME_LENGTH,
+  gl_MAX_NUM_ACTIVE_VARIABLES,
+  gl_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  gl_MAX_PATCH_VERTICES,
+  gl_MAX_PROGRAM_TEXEL_OFFSET,
+  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MAX_RECTANGLE_TEXTURE_SIZE,
+  gl_MAX_RENDERBUFFER_SIZE,
+  gl_MAX_SAMPLES,
+  gl_MAX_SAMPLE_MASK_WORDS,
+  gl_MAX_SERVER_WAIT_TIMEOUT,
+  gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  gl_MAX_SUBROUTINES,
+  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  gl_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  gl_MAX_TESS_GEN_LEVEL,
+  gl_MAX_TESS_PATCH_COMPONENTS,
+  gl_MAX_TEXTURE_BUFFER_SIZE,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  gl_MAX_UNIFORM_BLOCK_SIZE,
+  gl_MAX_UNIFORM_BUFFER_BINDINGS,
+  gl_MAX_UNIFORM_LOCATIONS,
+  gl_MAX_VARYING_COMPONENTS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VARYING_VECTORS,
+  gl_MAX_VERTEX_ATOMIC_COUNTERS,
+  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_ATTRIB_BINDINGS,
+  gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_MAX_VERTEX_ATTRIB_STRIDE,
+  gl_MAX_VERTEX_IMAGE_UNIFORMS,
+  gl_MAX_VERTEX_OUTPUT_COMPONENTS,
+  gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  gl_MAX_VERTEX_STREAMS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_BLOCKS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VERTEX_UNIFORM_VECTORS,
+  gl_MAX_VIEWPORTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MAX_WIDTH,
+  gl_MEDIUM_FLOAT,
+  gl_MEDIUM_INT,
+  gl_MIN,
+  gl_MINOR_VERSION,
+  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  gl_MIN_MAP_BUFFER_ALIGNMENT,
+  gl_MIN_PROGRAM_TEXEL_OFFSET,
+  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  gl_MIN_SAMPLE_SHADING_VALUE,
+  gl_MIPMAP,
+  gl_MIRRORED_REPEAT,
+  gl_MIRROR_CLAMP_TO_EDGE,
+  gl_MULTISAMPLE,
+  gl_NAME_LENGTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEGATIVE_ONE_TO_ONE,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NO_RESET_NOTIFICATION,
+  gl_NUM_ACTIVE_VARIABLES,
+  gl_NUM_COMPATIBLE_SUBROUTINES,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_NUM_EXTENSIONS,
+  gl_NUM_PROGRAM_BINARY_FORMATS,
+  gl_NUM_SAMPLE_COUNTS,
+  gl_NUM_SHADER_BINARY_FORMATS,
+  gl_NUM_SHADING_LANGUAGE_VERSIONS,
+  gl_OBJECT_TYPE,
+  gl_OFFSET,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC1_ALPHA,
+  gl_ONE_MINUS_SRC1_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_COMPRESSED_BLOCK_DEPTH,
+  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_PACK_COMPRESSED_BLOCK_SIZE,
+  gl_PACK_COMPRESSED_BLOCK_WIDTH,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PATCHES,
+  gl_PATCH_DEFAULT_INNER_LEVEL,
+  gl_PATCH_DEFAULT_OUTER_LEVEL,
+  gl_PATCH_VERTICES,
+  gl_PIXEL_BUFFER_BARRIER_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_PRIMITIVES_GENERATED,
+  gl_PRIMITIVE_RESTART,
+  gl_PRIMITIVE_RESTART_FIXED_INDEX,
+  gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  gl_PRIMITIVE_RESTART_INDEX,
+  gl_PROGRAM,
+  gl_PROGRAM_BINARY_FORMATS,
+  gl_PROGRAM_BINARY_LENGTH,
+  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  gl_PROGRAM_INPUT,
+  gl_PROGRAM_OUTPUT,
+  gl_PROGRAM_PIPELINE,
+  gl_PROGRAM_PIPELINE_BINDING,
+  gl_PROGRAM_POINT_SIZE,
+  gl_PROGRAM_SEPARABLE,
+  gl_PROVOKING_VERTEX,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_1D_ARRAY,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_2D_ARRAY,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
+  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  gl_PROXY_TEXTURE_RECTANGLE,
+  gl_QUADS,
+  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  gl_QUERY,
+  gl_QUERY_BUFFER,
+  gl_QUERY_BUFFER_BARRIER_BIT,
+  gl_QUERY_BUFFER_BINDING,
+  gl_QUERY_BY_REGION_NO_WAIT,
+  gl_QUERY_BY_REGION_NO_WAIT_INVERTED,
+  gl_QUERY_BY_REGION_WAIT,
+  gl_QUERY_BY_REGION_WAIT_INVERTED,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_NO_WAIT,
+  gl_QUERY_NO_WAIT_INVERTED,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_QUERY_RESULT_NO_WAIT,
+  gl_QUERY_TARGET,
+  gl_QUERY_WAIT,
+  gl_QUERY_WAIT_INVERTED,
+  gl_R11F_G11F_B10F,
+  gl_R16,
+  gl_R16F,
+  gl_R16I,
+  gl_R16UI,
+  gl_R16_SNORM,
+  gl_R32F,
+  gl_R32I,
+  gl_R32UI,
+  gl_R3_G3_B2,
+  gl_R8,
+  gl_R8I,
+  gl_R8UI,
+  gl_R8_SNORM,
+  gl_RASTERIZER_DISCARD,
+  gl_READ_BUFFER,
+  gl_READ_FRAMEBUFFER,
+  gl_READ_FRAMEBUFFER_BINDING,
+  gl_READ_ONLY,
+  gl_READ_PIXELS,
+  gl_READ_PIXELS_FORMAT,
+  gl_READ_PIXELS_TYPE,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_INTEGER,
+  gl_REFERENCED_BY_COMPUTE_SHADER,
+  gl_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_REFERENCED_BY_VERTEX_SHADER,
+  gl_RENDERBUFFER,
+  gl_RENDERBUFFER_ALPHA_SIZE,
+  gl_RENDERBUFFER_BINDING,
+  gl_RENDERBUFFER_BLUE_SIZE,
+  gl_RENDERBUFFER_DEPTH_SIZE,
+  gl_RENDERBUFFER_GREEN_SIZE,
+  gl_RENDERBUFFER_HEIGHT,
+  gl_RENDERBUFFER_INTERNAL_FORMAT,
+  gl_RENDERBUFFER_RED_SIZE,
+  gl_RENDERBUFFER_SAMPLES,
+  gl_RENDERBUFFER_STENCIL_SIZE,
+  gl_RENDERBUFFER_WIDTH,
+  gl_RENDERER,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESET_NOTIFICATION_STRATEGY,
+  gl_RG,
+  gl_RG16,
+  gl_RG16F,
+  gl_RG16I,
+  gl_RG16UI,
+  gl_RG16_SNORM,
+  gl_RG32F,
+  gl_RG32I,
+  gl_RG32UI,
+  gl_RG8,
+  gl_RG8I,
+  gl_RG8UI,
+  gl_RG8_SNORM,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB10_A2UI,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB16F,
+  gl_RGB16I,
+  gl_RGB16UI,
+  gl_RGB16_SNORM,
+  gl_RGB32F,
+  gl_RGB32I,
+  gl_RGB32UI,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB565,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGB8I,
+  gl_RGB8UI,
+  gl_RGB8_SNORM,
+  gl_RGB9_E5,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA16F,
+  gl_RGBA16I,
+  gl_RGBA16UI,
+  gl_RGBA16_SNORM,
+  gl_RGBA2,
+  gl_RGBA32F,
+  gl_RGBA32I,
+  gl_RGBA32UI,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA8I,
+  gl_RGBA8UI,
+  gl_RGBA8_SNORM,
+  gl_RGBA_INTEGER,
+  gl_RGB_INTEGER,
+  gl_RG_INTEGER,
+  gl_RIGHT,
+  gl_SAMPLER,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_ARRAY,
+  gl_SAMPLER_1D_ARRAY_SHADOW,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_ARRAY,
+  gl_SAMPLER_2D_ARRAY_SHADOW,
+  gl_SAMPLER_2D_MULTISAMPLE,
+  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_SAMPLER_2D_RECT,
+  gl_SAMPLER_2D_RECT_SHADOW,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_BINDING,
+  gl_SAMPLER_BUFFER,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLER_CUBE_MAP_ARRAY,
+  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  gl_SAMPLER_CUBE_SHADOW,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SAMPLE_MASK,
+  gl_SAMPLE_MASK_VALUE,
+  gl_SAMPLE_POSITION,
+  gl_SAMPLE_SHADING,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SEPARATE_ATTRIBS,
+  gl_SET,
+  gl_SHADER,
+  gl_SHADER_BINARY_FORMATS,
+  gl_SHADER_COMPILER,
+  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  gl_SHADER_IMAGE_ATOMIC,
+  gl_SHADER_IMAGE_LOAD,
+  gl_SHADER_IMAGE_STORE,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_STORAGE_BARRIER_BIT,
+  gl_SHADER_STORAGE_BLOCK,
+  gl_SHADER_STORAGE_BUFFER,
+  gl_SHADER_STORAGE_BUFFER_BINDING,
+  gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  gl_SHADER_STORAGE_BUFFER_SIZE,
+  gl_SHADER_STORAGE_BUFFER_START,
+  gl_SHADER_TYPE,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHORT,
+  gl_SIGNALED,
+  gl_SIGNED_NORMALIZED,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SRC1_ALPHA,
+  gl_SRC1_COLOR,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_SRGB_READ,
+  gl_SRGB_WRITE,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_ATTACHMENT,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_COMPONENTS,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_INDEX1,
+  gl_STENCIL_INDEX16,
+  gl_STENCIL_INDEX4,
+  gl_STENCIL_INDEX8,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_RENDERABLE,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SYNC_CONDITION,
+  gl_SYNC_FENCE,
+  gl_SYNC_FLAGS,
+  gl_SYNC_FLUSH_COMMANDS_BIT,
+  gl_SYNC_GPU_COMMANDS_COMPLETE,
+  gl_SYNC_STATUS,
+  gl_TESS_CONTROL_OUTPUT_VERTICES,
+  gl_TESS_CONTROL_SHADER,
+  gl_TESS_CONTROL_SHADER_BIT,
+  gl_TESS_CONTROL_SUBROUTINE,
+  gl_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  gl_TESS_CONTROL_TEXTURE,
+  gl_TESS_EVALUATION_SHADER,
+  gl_TESS_EVALUATION_SHADER_BIT,
+  gl_TESS_EVALUATION_SUBROUTINE,
+  gl_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  gl_TESS_EVALUATION_TEXTURE,
+  gl_TESS_GEN_MODE,
+  gl_TESS_GEN_POINT_MODE,
+  gl_TESS_GEN_SPACING,
+  gl_TESS_GEN_VERTEX_ORDER,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_1D_ARRAY,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_2D_ARRAY,
+  gl_TEXTURE_2D_MULTISAMPLE,
+  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_ALPHA_TYPE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_1D_ARRAY,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_2D_ARRAY,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
+  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_BUFFER,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  gl_TEXTURE_BINDING_RECTANGLE,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BLUE_TYPE,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_BUFFER,
+  gl_TEXTURE_BUFFER_BINDING,
+  gl_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  gl_TEXTURE_BUFFER_OFFSET,
+  gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  gl_TEXTURE_BUFFER_SIZE,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  gl_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  gl_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_ARRAY,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_CUBE_MAP_SEAMLESS,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_DEPTH_TYPE,
+  gl_TEXTURE_FETCH_BARRIER_BIT,
+  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  gl_TEXTURE_GATHER,
+  gl_TEXTURE_GATHER_SHADOW,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_GREEN_TYPE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_IMAGE_FORMAT,
+  gl_TEXTURE_IMAGE_TYPE,
+  gl_TEXTURE_IMMUTABLE_FORMAT,
+  gl_TEXTURE_IMMUTABLE_LEVELS,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_RECTANGLE,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RED_TYPE,
+  gl_TEXTURE_SAMPLES,
+  gl_TEXTURE_SHADOW,
+  gl_TEXTURE_SHARED_SIZE,
+  gl_TEXTURE_STENCIL_SIZE,
+  gl_TEXTURE_SWIZZLE_A,
+  gl_TEXTURE_SWIZZLE_B,
+  gl_TEXTURE_SWIZZLE_G,
+  gl_TEXTURE_SWIZZLE_R,
+  gl_TEXTURE_SWIZZLE_RGBA,
+  gl_TEXTURE_TARGET,
+  gl_TEXTURE_UPDATE_BARRIER_BIT,
+  gl_TEXTURE_VIEW,
+  gl_TEXTURE_VIEW_MIN_LAYER,
+  gl_TEXTURE_VIEW_MIN_LEVEL,
+  gl_TEXTURE_VIEW_NUM_LAYERS,
+  gl_TEXTURE_VIEW_NUM_LEVELS,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TIMEOUT_EXPIRED,
+  gl_TIMEOUT_IGNORED,
+  gl_TIMESTAMP,
+  gl_TIME_ELAPSED,
+  gl_TOP_LEVEL_ARRAY_SIZE,
+  gl_TOP_LEVEL_ARRAY_STRIDE,
+  gl_TRANSFORM_FEEDBACK,
+  gl_TRANSFORM_FEEDBACK_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  gl_TRANSFORM_FEEDBACK_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER,
+  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  gl_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  gl_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  gl_TRANSFORM_FEEDBACK_BUFFER_START,
+  gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  gl_TRANSFORM_FEEDBACK_PAUSED,
+  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  gl_TRANSFORM_FEEDBACK_VARYING,
+  gl_TRANSFORM_FEEDBACK_VARYINGS,
+  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  gl_TRIANGLES,
+  gl_TRIANGLES_ADJACENCY,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRIANGLE_STRIP_ADJACENCY,
+  gl_TRUE,
+  gl_TYPE,
+  gl_UNDEFINED_VERTEX,
+  gl_UNIFORM,
+  gl_UNIFORM_ARRAY_STRIDE,
+  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  gl_UNIFORM_BARRIER_BIT,
+  gl_UNIFORM_BLOCK,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  gl_UNIFORM_BLOCK_BINDING,
+  gl_UNIFORM_BLOCK_DATA_SIZE,
+  gl_UNIFORM_BLOCK_INDEX,
+  gl_UNIFORM_BLOCK_NAME_LENGTH,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  gl_UNIFORM_BUFFER,
+  gl_UNIFORM_BUFFER_BINDING,
+  gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  gl_UNIFORM_BUFFER_SIZE,
+  gl_UNIFORM_BUFFER_START,
+  gl_UNIFORM_IS_ROW_MAJOR,
+  gl_UNIFORM_MATRIX_STRIDE,
+  gl_UNIFORM_NAME_LENGTH,
+  gl_UNIFORM_OFFSET,
+  gl_UNIFORM_SIZE,
+  gl_UNIFORM_TYPE,
+  gl_UNKNOWN_CONTEXT_RESET,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
+  gl_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNALED,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10F_11F_11F_REV,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_24_8,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_5_9_9_9_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_INT_ATOMIC_COUNTER,
+  gl_UNSIGNED_INT_IMAGE_1D,
+  gl_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D,
+  gl_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_IMAGE_2D_RECT,
+  gl_UNSIGNED_INT_IMAGE_3D,
+  gl_UNSIGNED_INT_IMAGE_BUFFER,
+  gl_UNSIGNED_INT_IMAGE_CUBE,
+  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_1D,
+  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D,
+  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  gl_UNSIGNED_INT_SAMPLER_2D_RECT,
+  gl_UNSIGNED_INT_SAMPLER_3D,
+  gl_UNSIGNED_INT_SAMPLER_BUFFER,
+  gl_UNSIGNED_INT_SAMPLER_CUBE,
+  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  gl_UNSIGNED_INT_VEC2,
+  gl_UNSIGNED_INT_VEC3,
+  gl_UNSIGNED_INT_VEC4,
+  gl_UNSIGNED_NORMALIZED,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_INTEGER,
+  gl_VERTEX_ATTRIB_ARRAY_LONG,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_BINDING,
+  gl_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  gl_VERTEX_BINDING_BUFFER,
+  gl_VERTEX_BINDING_DIVISOR,
+  gl_VERTEX_BINDING_OFFSET,
+  gl_VERTEX_BINDING_STRIDE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_SHADER,
+  gl_VERTEX_SHADER_BIT,
+  gl_VERTEX_SUBROUTINE,
+  gl_VERTEX_SUBROUTINE_UNIFORM,
+  gl_VERTEX_TEXTURE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BOUNDS_RANGE,
+  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  gl_VIEWPORT_SUBPIXEL_BITS,
+  gl_VIEW_CLASS_128_BITS,
+  gl_VIEW_CLASS_16_BITS,
+  gl_VIEW_CLASS_24_BITS,
+  gl_VIEW_CLASS_32_BITS,
+  gl_VIEW_CLASS_48_BITS,
+  gl_VIEW_CLASS_64_BITS,
+  gl_VIEW_CLASS_8_BITS,
+  gl_VIEW_CLASS_96_BITS,
+  gl_VIEW_CLASS_BPTC_FLOAT,
+  gl_VIEW_CLASS_BPTC_UNORM,
+  gl_VIEW_CLASS_RGTC1_RED,
+  gl_VIEW_CLASS_RGTC2_RG,
+  gl_VIEW_CLASS_S3TC_DXT1_RGB,
+  gl_VIEW_CLASS_S3TC_DXT1_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT3_RGBA,
+  gl_VIEW_CLASS_S3TC_DXT5_RGBA,
+  gl_VIEW_COMPATIBILITY_CLASS,
+  gl_WAIT_FAILED,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZERO_TO_ONE,
+  -- * Functions
+  glActiveShaderProgram,
+  glActiveTexture,
+  glAttachShader,
+  glBeginConditionalRender,
+  glBeginQuery,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindBufferBase,
+  glBindBufferRange,
+  glBindBuffersBase,
+  glBindBuffersRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationIndexed,
+  glBindFramebuffer,
+  glBindImageTexture,
+  glBindImageTextures,
+  glBindProgramPipeline,
+  glBindRenderbuffer,
+  glBindSampler,
+  glBindSamplers,
+  glBindTexture,
+  glBindTextureUnit,
+  glBindTextures,
+  glBindTransformFeedback,
+  glBindVertexArray,
+  glBindVertexBuffer,
+  glBindVertexBuffers,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendEquationSeparatei,
+  glBlendEquationi,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBlendFuncSeparatei,
+  glBlendFunci,
+  glBlitFramebuffer,
+  glBlitNamedFramebuffer,
+  glBufferData,
+  glBufferStorage,
+  glBufferSubData,
+  glCheckFramebufferStatus,
+  glCheckNamedFramebufferStatus,
+  glClampColor,
+  glClear,
+  glClearBufferData,
+  glClearBufferSubData,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearDepth,
+  glClearDepthf,
+  glClearNamedBufferData,
+  glClearNamedBufferSubData,
+  glClearNamedFramebufferfi,
+  glClearNamedFramebufferfv,
+  glClearNamedFramebufferiv,
+  glClearNamedFramebufferuiv,
+  glClearStencil,
+  glClearTexImage,
+  glClearTexSubImage,
+  glClientWaitSync,
+  glClipControl,
+  glColorMask,
+  glColorMaski,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCompressedTextureSubImage1D,
+  glCompressedTextureSubImage2D,
+  glCompressedTextureSubImage3D,
+  glCopyBufferSubData,
+  glCopyImageSubData,
+  glCopyNamedBufferSubData,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCopyTextureSubImage1D,
+  glCopyTextureSubImage2D,
+  glCopyTextureSubImage3D,
+  glCreateBuffers,
+  glCreateFramebuffers,
+  glCreateProgram,
+  glCreateProgramPipelines,
+  glCreateQueries,
+  glCreateRenderbuffers,
+  glCreateSamplers,
+  glCreateShader,
+  glCreateShaderProgramv,
+  glCreateTextures,
+  glCreateTransformFeedbacks,
+  glCreateVertexArrays,
+  glCullFace,
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glDeleteBuffers,
+  glDeleteFramebuffers,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteQueries,
+  glDeleteRenderbuffers,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteSync,
+  glDeleteTextures,
+  glDeleteTransformFeedbacks,
+  glDeleteVertexArrays,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangef,
+  glDetachShader,
+  glDisable,
+  glDisableVertexArrayAttrib,
+  glDisableVertexAttribArray,
+  glDisablei,
+  glDispatchCompute,
+  glDispatchComputeIndirect,
+  glDrawArrays,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedBaseInstance,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEnable,
+  glEnableVertexArrayAttrib,
+  glEnableVertexAttribArray,
+  glEnablei,
+  glEndConditionalRender,
+  glEndQuery,
+  glEndQueryIndexed,
+  glEndTransformFeedback,
+  glFenceSync,
+  glFinish,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFlushMappedNamedBufferRange,
+  glFramebufferParameteri,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glFrontFace,
+  glGenBuffers,
+  glGenFramebuffers,
+  glGenProgramPipelines,
+  glGenQueries,
+  glGenRenderbuffers,
+  glGenSamplers,
+  glGenTextures,
+  glGenTransformFeedbacks,
+  glGenVertexArrays,
+  glGenerateMipmap,
+  glGenerateTextureMipmap,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetCompressedTexImage,
+  glGetCompressedTextureImage,
+  glGetCompressedTextureSubImage,
+  glGetDebugMessageLog,
+  glGetDoublei_v,
+  glGetDoublev,
+  glGetError,
+  glGetFloati_v,
+  glGetFloatv,
+  glGetFragDataIndex,
+  glGetFragDataLocation,
+  glGetFramebufferAttachmentParameteriv,
+  glGetFramebufferParameteriv,
+  glGetGraphicsResetStatus,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetIntegeri_v,
+  glGetIntegerv,
+  glGetInternalformati64v,
+  glGetInternalformativ,
+  glGetMultisamplefv,
+  glGetNamedBufferParameteri64v,
+  glGetNamedBufferParameteriv,
+  glGetNamedBufferPointerv,
+  glGetNamedBufferSubData,
+  glGetNamedFramebufferAttachmentParameteriv,
+  glGetNamedFramebufferParameteriv,
+  glGetNamedRenderbufferParameteriv,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPointerv,
+  glGetProgramBinary,
+  glGetProgramInfoLog,
+  glGetProgramInterfaceiv,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceName,
+  glGetProgramResourceiv,
+  glGetProgramStageiv,
+  glGetProgramiv,
+  glGetQueryBufferObjecti64v,
+  glGetQueryBufferObjectiv,
+  glGetQueryBufferObjectui64v,
+  glGetQueryBufferObjectuiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjectiv,
+  glGetQueryObjectui64v,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetRenderbufferParameteriv,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterIiv,
+  glGetTexParameterIuiv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTextureImage,
+  glGetTextureLevelParameterfv,
+  glGetTextureLevelParameteriv,
+  glGetTextureParameterIiv,
+  glGetTextureParameterIuiv,
+  glGetTextureParameterfv,
+  glGetTextureParameteriv,
+  glGetTextureSubImage,
+  glGetTransformFeedbackVarying,
+  glGetTransformFeedbacki64_v,
+  glGetTransformFeedbacki_v,
+  glGetTransformFeedbackiv,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetUniformuiv,
+  glGetVertexArrayIndexed64iv,
+  glGetVertexArrayIndexediv,
+  glGetVertexArrayiv,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribLdv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glGetnCompressedTexImage,
+  glGetnTexImage,
+  glGetnUniformdv,
+  glGetnUniformfv,
+  glGetnUniformiv,
+  glGetnUniformuiv,
+  glHint,
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateNamedFramebufferData,
+  glInvalidateNamedFramebufferSubData,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage,
+  glIsBuffer,
+  glIsEnabled,
+  glIsEnabledi,
+  glIsFramebuffer,
+  glIsProgram,
+  glIsProgramPipeline,
+  glIsQuery,
+  glIsRenderbuffer,
+  glIsSampler,
+  glIsShader,
+  glIsSync,
+  glIsTexture,
+  glIsTransformFeedback,
+  glIsVertexArray,
+  glLineWidth,
+  glLinkProgram,
+  glLogicOp,
+  glMapBuffer,
+  glMapBufferRange,
+  glMapNamedBuffer,
+  glMapNamedBufferRange,
+  glMemoryBarrier,
+  glMemoryBarrierByRegion,
+  glMinSampleShading,
+  glMultiDrawArrays,
+  glMultiDrawArraysIndirect,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsIndirect,
+  glNamedBufferData,
+  glNamedBufferStorage,
+  glNamedBufferSubData,
+  glNamedFramebufferDrawBuffer,
+  glNamedFramebufferDrawBuffers,
+  glNamedFramebufferParameteri,
+  glNamedFramebufferReadBuffer,
+  glNamedFramebufferRenderbuffer,
+  glNamedFramebufferTexture,
+  glNamedFramebufferTextureLayer,
+  glNamedRenderbufferStorage,
+  glNamedRenderbufferStorageMultisample,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPauseTransformFeedback,
+  glPixelStoref,
+  glPixelStorei,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPopDebugGroup,
+  glPrimitiveRestartIndex,
+  glProgramBinary,
+  glProgramParameteri,
+  glProgramUniform1d,
+  glProgramUniform1dv,
+  glProgramUniform1f,
+  glProgramUniform1fv,
+  glProgramUniform1i,
+  glProgramUniform1iv,
+  glProgramUniform1ui,
+  glProgramUniform1uiv,
+  glProgramUniform2d,
+  glProgramUniform2dv,
+  glProgramUniform2f,
+  glProgramUniform2fv,
+  glProgramUniform2i,
+  glProgramUniform2iv,
+  glProgramUniform2ui,
+  glProgramUniform2uiv,
+  glProgramUniform3d,
+  glProgramUniform3dv,
+  glProgramUniform3f,
+  glProgramUniform3fv,
+  glProgramUniform3i,
+  glProgramUniform3iv,
+  glProgramUniform3ui,
+  glProgramUniform3uiv,
+  glProgramUniform4d,
+  glProgramUniform4dv,
+  glProgramUniform4f,
+  glProgramUniform4fv,
+  glProgramUniform4i,
+  glProgramUniform4iv,
+  glProgramUniform4ui,
+  glProgramUniform4uiv,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3fv,
+  glProvokingVertex,
+  glPushDebugGroup,
+  glQueryCounter,
+  glReadBuffer,
+  glReadPixels,
+  glReadnPixels,
+  glReleaseShaderCompiler,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample,
+  glResumeTransformFeedback,
+  glSampleCoverage,
+  glSampleMaski,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScissor,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glShaderBinary,
+  glShaderSource,
+  glShaderStorageBlockBinding,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexBuffer,
+  glTexBufferRange,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage3D,
+  glTexImage3DMultisample,
+  glTexParameterIiv,
+  glTexParameterIuiv,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage2DMultisample,
+  glTexStorage3D,
+  glTexStorage3DMultisample,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTextureBarrier,
+  glTextureBuffer,
+  glTextureBufferRange,
+  glTextureParameterIiv,
+  glTextureParameterIuiv,
+  glTextureParameterf,
+  glTextureParameterfv,
+  glTextureParameteri,
+  glTextureParameteriv,
+  glTextureStorage1D,
+  glTextureStorage2D,
+  glTextureStorage2DMultisample,
+  glTextureStorage3D,
+  glTextureStorage3DMultisample,
+  glTextureSubImage1D,
+  glTextureSubImage2D,
+  glTextureSubImage3D,
+  glTextureView,
+  glTransformFeedbackBufferBase,
+  glTransformFeedbackBufferRange,
+  glTransformFeedbackVaryings,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform1ui,
+  glUniform1uiv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform2ui,
+  glUniform2uiv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform3ui,
+  glUniform3uiv,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniform4ui,
+  glUniform4uiv,
+  glUniformBlockBinding,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformSubroutinesuiv,
+  glUnmapBuffer,
+  glUnmapNamedBuffer,
+  glUseProgram,
+  glUseProgramStages,
+  glValidateProgram,
+  glValidateProgramPipeline,
+  glVertexArrayAttribBinding,
+  glVertexArrayAttribFormat,
+  glVertexArrayAttribIFormat,
+  glVertexArrayAttribLFormat,
+  glVertexArrayBindingDivisor,
+  glVertexArrayElementBuffer,
+  glVertexArrayVertexBuffer,
+  glVertexArrayVertexBuffers,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribBinding,
+  glVertexAttribDivisor,
+  glVertexAttribFormat,
+  glVertexAttribI1i,
+  glVertexAttribI1iv,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiv,
+  glVertexAttribI2i,
+  glVertexAttribI2iv,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiv,
+  glVertexAttribI3i,
+  glVertexAttribI3iv,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiv,
+  glVertexAttribI4bv,
+  glVertexAttribI4i,
+  glVertexAttribI4iv,
+  glVertexAttribI4sv,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiv,
+  glVertexAttribI4usv,
+  glVertexAttribIFormat,
+  glVertexAttribIPointer,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLFormat,
+  glVertexAttribLPointer,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribPointer,
+  glVertexBindingDivisor,
+  glViewport,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv,
+  glWaitSync
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
@@ -30,13 +30,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_bindable_uniform"
 
 EXTENSION_ENTRY(dyn_glUniformBuffer,ptr_glUniformBuffer,"glUniformBuffer",glUniformBuffer,GLuint -> GLint -> GLuint -> IO ())
 EXTENSION_ENTRY(dyn_glGetUniformBufferSize,ptr_glGetUniformBufferSize,"glGetUniformBufferSize",glGetUniformBufferSize,GLuint -> GLint -> IO GLint)
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
@@ -24,4 +24,5 @@
    gl_BLEND_COLOR
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
@@ -23,4 +23,5 @@
    gl_BLEND_EQUATION
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
@@ -26,12 +26,11 @@
 
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_compiled_vertex_array"
 
 EXTENSION_ENTRY(dyn_glLockArrays,ptr_glLockArrays,"glLockArrays",glLockArrays,GLint -> GLsizei -> IO ())
 EXTENSION_ENTRY(dyn_glUnlockArrays,ptr_glUnlockArrays,"glUnlockArrays",glUnlockArrays,IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
@@ -55,15 +55,13 @@
    gl_MAP2_BINORMAL
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_coordinate_frame"
 
 EXTENSION_ENTRY(dyn_glTangent3b,ptr_glTangent3b,"glTangent3b",glTangent3b,GLbyte -> IO ())
 EXTENSION_ENTRY(dyn_glTangent3d,ptr_glTangent3d,"glTangent3d",glTangent3d,GLdouble -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
@@ -24,15 +24,13 @@
    gl_CULL_VERTEX_OBJECT_POSITION
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_cull_vertex"
 
 EXTENSION_ENTRY(dyn_glCullParameterfv,ptr_glCullParameterfv,"glCullParameterfv",glCullParameterfv,GLenum -> Ptr GLfloat -> IO ())
 EXTENSION_ENTRY(dyn_glCullParameterdv,ptr_glCullParameterdv,"glCullParameterdv",glCullParameterdv,GLenum -> Ptr GLdouble -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
@@ -23,13 +23,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_depth_bounds_test"
 
 EXTENSION_ENTRY(dyn_glDepthBounds,ptr_glDepthBounds,"glDepthBounds",glDepthBounds,GLclampd -> GLclampd -> IO())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
@@ -214,181 +213,134 @@
    gl_PROGRAM_MATRIX_STACK_DEPTH
 ) where
 
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
-import Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
-#include "HsOpenGLRaw.h"
+glClientAttribDefault = glClientAttribDefaultEXT
+glPushClientAttribDefault = glPushClientAttribDefaultEXT
+glMatrixLoadf = glMatrixLoadfEXT
+glMatrixLoadd = glMatrixLoaddEXT
+glMatrixMultf = glMatrixMultfEXT
+glMatrixMultd = glMatrixMultdEXT
+glMatrixLoadIdentity = glMatrixLoadIdentityEXT
+glMatrixRotatef = glMatrixRotatefEXT
+glMatrixRotated = glMatrixRotatedEXT
+glMatrixScalef = glMatrixScalefEXT
+glMatrixScaled = glMatrixScaledEXT
+glMatrixTranslatef = glMatrixTranslatefEXT
+glMatrixTranslated = glMatrixTranslatedEXT
+glMatrixOrtho = glMatrixOrthoEXT
+glMatrixFrustum = glMatrixFrustumEXT
+glMatrixPush = glMatrixPushEXT
+glMatrixPop = glMatrixPopEXT
+glTextureImage1D = glTextureImage1DEXT
+glTextureImage2D = glTextureImage2DEXT
+glCopyTextureImage1D = glCopyTextureImage1DEXT
+glCopyTextureImage2D = glCopyTextureImage2DEXT
+glTextureImage3D = glTextureImage3DEXT
+glBindMultiTexture = glBindMultiTextureEXT
+glMultiTexCoordPointer = glMultiTexCoordPointerEXT
+glMultiTexEnvf = glMultiTexEnvfEXT
+glMultiTexEnvfv = glMultiTexEnvfvEXT
+glMultiTexEnvi = glMultiTexEnviEXT
+glMultiTexEnviv = glMultiTexEnvivEXT
+glMultiTexGend = glMultiTexGendEXT
+glMultiTexGendv = glMultiTexGendvEXT
+glMultiTexGenf = glMultiTexGenfEXT
+glMultiTexGenfv = glMultiTexGenfvEXT
+glMultiTexGeni = glMultiTexGeniEXT
+glMultiTexGeniv = glMultiTexGenivEXT
+glGetMultiTexEnvfv = glGetMultiTexEnvfvEXT
+glGetMultiTexEnviv = glGetMultiTexEnvivEXT
+glGetMultiTexGendv = glGetMultiTexGendvEXT
+glGetMultiTexGenfv = glGetMultiTexGenfvEXT
+glGetMultiTexGeniv = glGetMultiTexGenivEXT
+glMultiTexParameteri = glMultiTexParameteriEXT
+glMultiTexParameteriv = glMultiTexParameterivEXT
+glMultiTexParameterf = glMultiTexParameterfEXT
+glMultiTexParameterfv = glMultiTexParameterfvEXT
+glMultiTexImage1D = glMultiTexImage1DEXT
+glMultiTexImage2D = glMultiTexImage2DEXT
+glMultiTexSubImage1D = glMultiTexSubImage1DEXT
+glMultiTexSubImage2D = glMultiTexSubImage2DEXT
+glCopyMultiTexImage1D = glCopyMultiTexImage1DEXT
+glCopyMultiTexImage2D = glCopyMultiTexImage2DEXT
+glCopyMultiTexSubImage1D = glCopyMultiTexSubImage1DEXT
+glCopyMultiTexSubImage2D = glCopyMultiTexSubImage2DEXT
+glGetMultiTexImage = glGetMultiTexImageEXT
+glGetMultiTexParameterfv = glGetMultiTexParameterfvEXT
+glGetMultiTexParameteriv = glGetMultiTexParameterivEXT
+glGetMultiTexLevelParameterfv = glGetMultiTexLevelParameterfvEXT
+glGetMultiTexLevelParameteriv = glGetMultiTexLevelParameterivEXT
+glMultiTexImage3D = glMultiTexImage3DEXT
+glMultiTexSubImage3D = glMultiTexSubImage3DEXT
+glCopyMultiTexSubImage3D = glCopyMultiTexSubImage3DEXT
+glEnableClientStateIndexed = glEnableClientStateIndexedEXT
+glDisableClientStateIndexed = glDisableClientStateIndexedEXT
+glGetFloatIndexedv = glGetFloatIndexedvEXT
+glGetDoubleIndexedv = glGetDoubleIndexedvEXT
+glGetPointerIndexedv = glGetPointerIndexedvEXT
+glEnableIndexed = glEnableIndexedEXT
+glDisableIndexed = glDisableIndexedEXT
+glIsEnabledIndexed = glIsEnabledIndexedEXT
+glGetIntegerIndexedv = glGetIntegerIndexedvEXT
+glGetBooleanIndexedv = glGetBooleanIndexedvEXT
+glNamedProgramString = glNamedProgramStringEXT
+glNamedProgramLocalParameter4d = glNamedProgramLocalParameter4dEXT
+glNamedProgramLocalParameter4dv = glNamedProgramLocalParameter4dvEXT
+glNamedProgramLocalParameter4f = glNamedProgramLocalParameter4fEXT
+glNamedProgramLocalParameter4fv = glNamedProgramLocalParameter4fvEXT
+glGetNamedProgramLocalParameterdv = glGetNamedProgramLocalParameterdvEXT
+glGetNamedProgramLocalParameterfv = glGetNamedProgramLocalParameterfvEXT
+glGetNamedProgramiv = glGetNamedProgramivEXT
+glGetNamedProgramString = glGetNamedProgramStringEXT
+glCompressedTextureImage3D = glCompressedTextureImage3DEXT
+glCompressedTextureImage2D = glCompressedTextureImage2DEXT
+glCompressedTextureImage1D = glCompressedTextureImage1DEXT
+glCompressedMultiTexImage3D = glCompressedMultiTexImage3DEXT
+glCompressedMultiTexImage2D = glCompressedMultiTexImage2DEXT
+glCompressedMultiTexImage1D = glCompressedMultiTexImage1DEXT
+glCompressedMultiTexSubImage3D = glCompressedMultiTexSubImage3DEXT
+glCompressedMultiTexSubImage2D = glCompressedMultiTexSubImage2DEXT
+glCompressedMultiTexSubImage1D = glCompressedMultiTexSubImage1DEXT
+glGetCompressedMultiTexImage = glGetCompressedMultiTexImageEXT
+glMatrixLoadTransposef = glMatrixLoadTransposefEXT
+glMatrixLoadTransposed = glMatrixLoadTransposedEXT
+glMatrixMultTransposef = glMatrixMultTransposefEXT
+glMatrixMultTransposed = glMatrixMultTransposedEXT
+glMultiTexBuffer = glMultiTexBufferEXT
+glMultiTexParameterIiv = glMultiTexParameterIivEXT
+glMultiTexParameterIuiv = glMultiTexParameterIuivEXT
+glGetMultiTexParameterIiv = glGetMultiTexParameterIivEXT
+glGetMultiTexParameterIuiv = glGetMultiTexParameterIuivEXT
+glNamedProgramLocalParameters4fv = glNamedProgramLocalParameters4fvEXT
+glNamedProgramLocalParameterI4i = glNamedProgramLocalParameterI4iEXT
+glNamedProgramLocalParameterI4iv = glNamedProgramLocalParameterI4ivEXT
+glNamedProgramLocalParametersI4iv = glNamedProgramLocalParametersI4ivEXT
+glNamedProgramLocalParameterI4ui = glNamedProgramLocalParameterI4uiEXT
+glNamedProgramLocalParameterI4uiv = glNamedProgramLocalParameterI4uivEXT
+glNamedProgramLocalParametersI4uiv = glNamedProgramLocalParametersI4uivEXT
+glGetNamedProgramLocalParameterIiv = glGetNamedProgramLocalParameterIivEXT
+glGetNamedProgramLocalParameterIuiv = glGetNamedProgramLocalParameterIuivEXT
+glNamedRenderbufferStorageMultisampleCoverage = glNamedRenderbufferStorageMultisampleCoverageEXT
+glNamedFramebufferTexture1D = glNamedFramebufferTexture1DEXT
+glNamedFramebufferTexture2D = glNamedFramebufferTexture2DEXT
+glNamedFramebufferTexture3D = glNamedFramebufferTexture3DEXT
+glGenerateMultiTexMipmap = glGenerateMultiTexMipmapEXT
+glFramebufferDrawBuffer = glFramebufferDrawBufferEXT
+glFramebufferDrawBuffers = glFramebufferDrawBuffersEXT
+glFramebufferReadBuffer = glFramebufferReadBufferEXT
+glNamedFramebufferTextureFace = glNamedFramebufferTextureFaceEXT
+glTextureRenderbuffer = glTextureRenderbufferEXT
+glMultiTexRenderbuffer = glMultiTexRenderbufferEXT
 
-extensionNameString :: String
-extensionNameString = "GL_EXT_direct_state_access"
 
-EXTENSION_ENTRY(dyn_glClientAttribDefault,ptr_glClientAttribDefault,"glClientAttribDefault",glClientAttribDefault,GLbitfield -> IO ())
-EXTENSION_ENTRY(dyn_glPushClientAttribDefault,ptr_glPushClientAttribDefault,"glPushClientAttribDefault",glPushClientAttribDefault,GLbitfield -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixLoadf,ptr_glMatrixLoadf,"glMatrixLoadf",glMatrixLoadf,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixLoadd,ptr_glMatrixLoadd,"glMatrixLoadd",glMatrixLoadd,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixMultf,ptr_glMatrixMultf,"glMatrixMultf",glMatrixMultf,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixMultd,ptr_glMatrixMultd,"glMatrixMultd",glMatrixMultd,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixLoadIdentity,ptr_glMatrixLoadIdentity,"glMatrixLoadIdentity",glMatrixLoadIdentity,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixRotatef,ptr_glMatrixRotatef,"glMatrixRotatef",glMatrixRotatef,GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixRotated,ptr_glMatrixRotated,"glMatrixRotated",glMatrixRotated,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixScalef,ptr_glMatrixScalef,"glMatrixScalef",glMatrixScalef,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixScaled,ptr_glMatrixScaled,"glMatrixScaled",glMatrixScaled,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixTranslatef,ptr_glMatrixTranslatef,"glMatrixTranslatef",glMatrixTranslatef,GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixTranslated,ptr_glMatrixTranslated,"glMatrixTranslated",glMatrixTranslated,GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixOrtho,ptr_glMatrixOrtho,"glMatrixOrtho",glMatrixOrtho,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixFrustum,ptr_glMatrixFrustum,"glMatrixFrustum",glMatrixFrustum,GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixPush,ptr_glMatrixPush,"glMatrixPush",glMatrixPush,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixPop,ptr_glMatrixPop,"glMatrixPop",glMatrixPop,GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glTextureParameteri,ptr_glTextureParameteri,"glTextureParameteri",glTextureParameteri,GLuint -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTextureParameteriv,ptr_glTextureParameteriv,"glTextureParameteriv",glTextureParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTextureParameterf,ptr_glTextureParameterf,"glTextureParameterf",glTextureParameterf,GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTextureParameterfv,ptr_glTextureParameterfv,"glTextureParameterfv",glTextureParameterfv,GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glTextureImage1D,ptr_glTextureImage1D,"glTextureImage1D",glTextureImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTextureImage2D,ptr_glTextureImage2D,"glTextureImage2D",glTextureImage2D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTextureSubImage1D,ptr_glTextureSubImage1D,"glTextureSubImage1D",glTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTextureSubImage2D,ptr_glTextureSubImage2D,"glTextureSubImage2D",glTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTextureImage1D,ptr_glCopyTextureImage1D,"glCopyTextureImage1D",glCopyTextureImage1D,GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTextureImage2D,ptr_glCopyTextureImage2D,"glCopyTextureImage2D",glCopyTextureImage2D,GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTextureSubImage1D,ptr_glCopyTextureSubImage1D,"glCopyTextureSubImage1D",glCopyTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTextureSubImage2D,ptr_glCopyTextureSubImage2D,"glCopyTextureSubImage2D",glCopyTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glGetTextureImage,ptr_glGetTextureImage,"glGetTextureImage",glGetTextureImage,GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetTextureParameterfv,ptr_glGetTextureParameterfv,"glGetTextureParameterfv",glGetTextureParameterfv,GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetTextureParameteriv,ptr_glGetTextureParameteriv,"glGetTextureParameteriv",glGetTextureParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTextureLevelParameterfv,ptr_glGetTextureLevelParameterfv,"glGetTextureLevelParameterfv",glGetTextureLevelParameterfv,GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetTextureLevelParameteriv,ptr_glGetTextureLevelParameteriv,"glGetTextureLevelParameteriv",glGetTextureLevelParameteriv,GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTextureImage3D,ptr_glTextureImage3D,"glTextureImage3D",glTextureImage3D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTextureSubImage3D,ptr_glTextureSubImage3D,"glTextureSubImage3D",glTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCopyTextureSubImage3D,ptr_glCopyTextureSubImage3D,"glCopyTextureSubImage3D",glCopyTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glBindMultiTexture,ptr_glBindMultiTexture,"glBindMultiTexture",glBindMultiTexture,GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexCoordPointer,ptr_glMultiTexCoordPointer,"glMultiTexCoordPointer",glMultiTexCoordPointer,GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexEnvf,ptr_glMultiTexEnvf,"glMultiTexEnvf",glMultiTexEnvf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexEnvfv,ptr_glMultiTexEnvfv,"glMultiTexEnvfv",glMultiTexEnvfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexEnvi,ptr_glMultiTexEnvi,"glMultiTexEnvi",glMultiTexEnvi,GLenum -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexEnviv,ptr_glMultiTexEnviv,"glMultiTexEnviv",glMultiTexEnviv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexGend,ptr_glMultiTexGend,"glMultiTexGend",glMultiTexGend,GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexGendv,ptr_glMultiTexGendv,"glMultiTexGendv",glMultiTexGendv,GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexGenf,ptr_glMultiTexGenf,"glMultiTexGenf",glMultiTexGenf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexGenfv,ptr_glMultiTexGenfv,"glMultiTexGenfv",glMultiTexGenfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexGeni,ptr_glMultiTexGeni,"glMultiTexGeni",glMultiTexGeni,GLenum -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexGeniv,ptr_glMultiTexGeniv,"glMultiTexGeniv",glMultiTexGeniv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexEnvfv,ptr_glGetMultiTexEnvfv,"glGetMultiTexEnvfv",glGetMultiTexEnvfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexEnviv,ptr_glGetMultiTexEnviv,"glGetMultiTexEnviv",glGetMultiTexEnviv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexGendv,ptr_glGetMultiTexGendv,"glGetMultiTexGendv",glGetMultiTexGendv,GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexGenfv,ptr_glGetMultiTexGenfv,"glGetMultiTexGenfv",glGetMultiTexGenfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexGeniv,ptr_glGetMultiTexGeniv,"glGetMultiTexGeniv",glGetMultiTexGeniv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexParameteri,ptr_glMultiTexParameteri,"glMultiTexParameteri",glMultiTexParameteri,GLenum -> GLenum -> GLenum -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexParameteriv,ptr_glMultiTexParameteriv,"glMultiTexParameteriv",glMultiTexParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexParameterf,ptr_glMultiTexParameterf,"glMultiTexParameterf",glMultiTexParameterf,GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexParameterfv,ptr_glMultiTexParameterfv,"glMultiTexParameterfv",glMultiTexParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexImage1D,ptr_glMultiTexImage1D,"glMultiTexImage1D",glMultiTexImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexImage2D,ptr_glMultiTexImage2D,"glMultiTexImage2D",glMultiTexImage2D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexSubImage1D,ptr_glMultiTexSubImage1D,"glMultiTexSubImage1D",glMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexSubImage2D,ptr_glMultiTexSubImage2D,"glMultiTexSubImage2D",glMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCopyMultiTexImage1D,ptr_glCopyMultiTexImage1D,"glCopyMultiTexImage1D",glCopyMultiTexImage1D,GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glCopyMultiTexImage2D,ptr_glCopyMultiTexImage2D,"glCopyMultiTexImage2D",glCopyMultiTexImage2D,GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glCopyMultiTexSubImage1D,ptr_glCopyMultiTexSubImage1D,"glCopyMultiTexSubImage1D",glCopyMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCopyMultiTexSubImage2D,ptr_glCopyMultiTexSubImage2D,"glCopyMultiTexSubImage2D",glCopyMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexImage,ptr_glGetMultiTexImage,"glGetMultiTexImage",glGetMultiTexImage,GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexParameterfv,ptr_glGetMultiTexParameterfv,"glGetMultiTexParameterfv",glGetMultiTexParameterfv,GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexParameteriv,ptr_glGetMultiTexParameteriv,"glGetMultiTexParameteriv",glGetMultiTexParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexLevelParameterfv,ptr_glGetMultiTexLevelParameterfv,"glGetMultiTexLevelParameterfv",glGetMultiTexLevelParameterfv,GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexLevelParameteriv,ptr_glGetMultiTexLevelParameteriv,"glGetMultiTexLevelParameteriv",glGetMultiTexLevelParameteriv,GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexImage3D,ptr_glMultiTexImage3D,"glMultiTexImage3D",glMultiTexImage3D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexSubImage3D,ptr_glMultiTexSubImage3D,"glMultiTexSubImage3D",glMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCopyMultiTexSubImage3D,ptr_glCopyMultiTexSubImage3D,"glCopyMultiTexSubImage3D",glCopyMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glEnableClientStateIndexed,ptr_glEnableClientStateIndexed,"glEnableClientStateIndexed",glEnableClientStateIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDisableClientStateIndexed,ptr_glDisableClientStateIndexed,"glDisableClientStateIndexed",glDisableClientStateIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetFloatIndexedv,ptr_glGetFloatIndexedv,"glGetFloatIndexedv",glGetFloatIndexedv,GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetDoubleIndexedv,ptr_glGetDoubleIndexedv,"glGetDoubleIndexedv",glGetDoubleIndexedv,GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetPointerIndexedv,ptr_glGetPointerIndexedv,"glGetPointerIndexedv",glGetPointerIndexedv,GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(dyn_glEnableIndexed,ptr_glEnableIndexed,"glEnableIndexed",glEnableIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glDisableIndexed,ptr_glDisableIndexed,"glDisableIndexed",glDisableIndexed,GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glIsEnabledIndexed,ptr_glIsEnabledIndexed,"glIsEnabledIndexed",glIsEnabledIndexed,GLenum -> GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glGetIntegerIndexedv,ptr_glGetIntegerIndexedv,"glGetIntegerIndexedv",glGetIntegerIndexedv,GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetBooleanIndexedv,ptr_glGetBooleanIndexedv,"glGetBooleanIndexedv",glGetBooleanIndexedv,GLenum -> GLuint -> Ptr GLboolean -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramString,ptr_glNamedProgramString,"glNamedProgramString",glNamedProgramString,GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4d,ptr_glNamedProgramLocalParameter4d,"glNamedProgramLocalParameter4d",glNamedProgramLocalParameter4d,GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4dv,ptr_glNamedProgramLocalParameter4dv,"glNamedProgramLocalParameter4dv",glNamedProgramLocalParameter4dv,GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4f,ptr_glNamedProgramLocalParameter4f,"glNamedProgramLocalParameter4f",glNamedProgramLocalParameter4f,GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameter4fv,ptr_glNamedProgramLocalParameter4fv,"glNamedProgramLocalParameter4fv",glNamedProgramLocalParameter4fv,GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterdv,ptr_glGetNamedProgramLocalParameterdv,"glGetNamedProgramLocalParameterdv",glGetNamedProgramLocalParameterdv,GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterfv,ptr_glGetNamedProgramLocalParameterfv,"glGetNamedProgramLocalParameterfv",glGetNamedProgramLocalParameterfv,GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedProgramiv,ptr_glGetNamedProgramiv,"glGetNamedProgramiv",glGetNamedProgramiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedProgramString,ptr_glGetNamedProgramString,"glGetNamedProgramString",glGetNamedProgramString,GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTextureImage3D,ptr_glCompressedTextureImage3D,"glCompressedTextureImage3D",glCompressedTextureImage3D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTextureImage2D,ptr_glCompressedTextureImage2D,"glCompressedTextureImage2D",glCompressedTextureImage2D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTextureImage1D,ptr_glCompressedTextureImage1D,"glCompressedTextureImage1D",glCompressedTextureImage1D,GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTextureSubImage3D,ptr_glCompressedTextureSubImage3D,"glCompressedTextureSubImage3D",glCompressedTextureSubImage3D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTextureSubImage2D,ptr_glCompressedTextureSubImage2D,"glCompressedTextureSubImage2D",glCompressedTextureSubImage2D,GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedTextureSubImage1D,ptr_glCompressedTextureSubImage1D,"glCompressedTextureSubImage1D",glCompressedTextureSubImage1D,GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetCompressedTextureImage,ptr_glGetCompressedTextureImage,"glGetCompressedTextureImage",glGetCompressedTextureImage,GLuint -> GLenum -> GLint -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedMultiTexImage3D,ptr_glCompressedMultiTexImage3D,"glCompressedMultiTexImage3D",glCompressedMultiTexImage3D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedMultiTexImage2D,ptr_glCompressedMultiTexImage2D,"glCompressedMultiTexImage2D",glCompressedMultiTexImage2D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedMultiTexImage1D,ptr_glCompressedMultiTexImage1D,"glCompressedMultiTexImage1D",glCompressedMultiTexImage1D,GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedMultiTexSubImage3D,ptr_glCompressedMultiTexSubImage3D,"glCompressedMultiTexSubImage3D",glCompressedMultiTexSubImage3D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedMultiTexSubImage2D,ptr_glCompressedMultiTexSubImage2D,"glCompressedMultiTexSubImage2D",glCompressedMultiTexSubImage2D,GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glCompressedMultiTexSubImage1D,ptr_glCompressedMultiTexSubImage1D,"glCompressedMultiTexSubImage1D",glCompressedMultiTexSubImage1D,GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glGetCompressedMultiTexImage,ptr_glGetCompressedMultiTexImage,"glGetCompressedMultiTexImage",glGetCompressedMultiTexImage,GLenum -> GLenum -> GLint -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixLoadTransposef,ptr_glMatrixLoadTransposef,"glMatrixLoadTransposef",glMatrixLoadTransposef,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixLoadTransposed,ptr_glMatrixLoadTransposed,"glMatrixLoadTransposed",glMatrixLoadTransposed,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixMultTransposef,ptr_glMatrixMultTransposef,"glMatrixMultTransposef",glMatrixMultTransposef,GLenum -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glMatrixMultTransposed,ptr_glMatrixMultTransposed,"glMatrixMultTransposed",glMatrixMultTransposed,GLenum -> Ptr GLdouble -> IO ())
-EXTENSION_ENTRY(dyn_glNamedBufferData,ptr_glNamedBufferData,"glNamedBufferData",glNamedBufferData,GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glNamedBufferSubData,ptr_glNamedBufferSubData,"glNamedBufferSubData",glNamedBufferSubData,GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glMapNamedBuffer,ptr_glMapNamedBuffer,"glMapNamedBuffer",glMapNamedBuffer,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glUnmapNamedBuffer,ptr_glUnmapNamedBuffer,"glUnmapNamedBuffer",glUnmapNamedBuffer,GLuint -> IO GLboolean)
-EXTENSION_ENTRY(dyn_glGetNamedBufferParameteriv,ptr_glGetNamedBufferParameteriv,"glGetNamedBufferParameteriv",glGetNamedBufferParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedBufferPointerv,ptr_glGetNamedBufferPointerv,"glGetNamedBufferPointerv",glGetNamedBufferPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedBufferSubData,ptr_glGetNamedBufferSubData,"glGetNamedBufferSubData",glGetNamedBufferSubData,GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-EXTENSION_ENTRY(dyn_glTextureBuffer,ptr_glTextureBuffer,"glTextureBuffer",glTextureBuffer,GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexBuffer,ptr_glMultiTexBuffer,"glMultiTexBuffer",glMultiTexBuffer,GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glTextureParameterIiv,ptr_glTextureParameterIiv,"glTextureParameterIiv",glTextureParameterIiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glTextureParameterIuiv,ptr_glTextureParameterIuiv,"glTextureParameterIuiv",glTextureParameterIuiv,GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTextureParameterIiv,ptr_glGetTextureParameterIiv,"glGetTextureParameterIiv",glGetTextureParameterIiv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetTextureParameterIuiv,ptr_glGetTextureParameterIuiv,"glGetTextureParameterIuiv",glGetTextureParameterIuiv,GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexParameterIiv,ptr_glMultiTexParameterIiv,"glMultiTexParameterIiv",glMultiTexParameterIiv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexParameterIuiv,ptr_glMultiTexParameterIuiv,"glMultiTexParameterIuiv",glMultiTexParameterIuiv,GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexParameterIiv,ptr_glGetMultiTexParameterIiv,"glGetMultiTexParameterIiv",glGetMultiTexParameterIiv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetMultiTexParameterIuiv,ptr_glGetMultiTexParameterIuiv,"glGetMultiTexParameterIuiv",glGetMultiTexParameterIuiv,GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameters4fv,ptr_glNamedProgramLocalParameters4fv,"glNamedProgramLocalParameters4fv",glNamedProgramLocalParameters4fv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4i,ptr_glNamedProgramLocalParameterI4i,"glNamedProgramLocalParameterI4i",glNamedProgramLocalParameterI4i,GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4iv,ptr_glNamedProgramLocalParameterI4iv,"glNamedProgramLocalParameterI4iv",glNamedProgramLocalParameterI4iv,GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParametersI4iv,ptr_glNamedProgramLocalParametersI4iv,"glNamedProgramLocalParametersI4iv",glNamedProgramLocalParametersI4iv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4ui,ptr_glNamedProgramLocalParameterI4ui,"glNamedProgramLocalParameterI4ui",glNamedProgramLocalParameterI4ui,GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParameterI4uiv,ptr_glNamedProgramLocalParameterI4uiv,"glNamedProgramLocalParameterI4uiv",glNamedProgramLocalParameterI4uiv,GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedProgramLocalParametersI4uiv,ptr_glNamedProgramLocalParametersI4uiv,"glNamedProgramLocalParametersI4uiv",glNamedProgramLocalParametersI4uiv,GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterIiv,ptr_glGetNamedProgramLocalParameterIiv,"glGetNamedProgramLocalParameterIiv",glGetNamedProgramLocalParameterIiv,GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedProgramLocalParameterIuiv,ptr_glGetNamedProgramLocalParameterIuiv,"glGetNamedProgramLocalParameterIuiv",glGetNamedProgramLocalParameterIuiv,GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedRenderbufferStorage,ptr_glNamedRenderbufferStorage,"glNamedRenderbufferStorage",glNamedRenderbufferStorage,GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedRenderbufferParameteriv,ptr_glGetNamedRenderbufferParameteriv,"glGetNamedRenderbufferParameteriv",glGetNamedRenderbufferParameteriv,GLuint -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedRenderbufferStorageMultisample,ptr_glNamedRenderbufferStorageMultisample,"glNamedRenderbufferStorageMultisample",glNamedRenderbufferStorageMultisample,GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glNamedRenderbufferStorageMultisampleCoverage,ptr_glNamedRenderbufferStorageMultisampleCoverage,"glNamedRenderbufferStorageMultisampleCoverage",glNamedRenderbufferStorageMultisampleCoverage,GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-EXTENSION_ENTRY(dyn_glCheckNamedFramebufferStatus,ptr_glCheckNamedFramebufferStatus,"glCheckNamedFramebufferStatus",glCheckNamedFramebufferStatus,GLuint -> GLenum -> IO GLenum)
-EXTENSION_ENTRY(dyn_glNamedFramebufferTexture1D,ptr_glNamedFramebufferTexture1D,"glNamedFramebufferTexture1D",glNamedFramebufferTexture1D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedFramebufferTexture2D,ptr_glNamedFramebufferTexture2D,"glNamedFramebufferTexture2D",glNamedFramebufferTexture2D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedFramebufferTexture3D,ptr_glNamedFramebufferTexture3D,"glNamedFramebufferTexture3D",glNamedFramebufferTexture3D,GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedFramebufferRenderbuffer,ptr_glNamedFramebufferRenderbuffer,"glNamedFramebufferRenderbuffer",glNamedFramebufferRenderbuffer,GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glGetNamedFramebufferAttachmentParameteriv,ptr_glGetNamedFramebufferAttachmentParameteriv,"glGetNamedFramebufferAttachmentParameteriv",glGetNamedFramebufferAttachmentParameteriv,GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-EXTENSION_ENTRY(dyn_glGenerateTextureMipmap,ptr_glGenerateTextureMipmap,"glGenerateTextureMipmap",glGenerateTextureMipmap,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glGenerateMultiTexMipmap,ptr_glGenerateMultiTexMipmap,"glGenerateMultiTexMipmap",glGenerateMultiTexMipmap,GLenum -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferDrawBuffer,ptr_glFramebufferDrawBuffer,"glFramebufferDrawBuffer",glFramebufferDrawBuffer,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferDrawBuffers,ptr_glFramebufferDrawBuffers,"glFramebufferDrawBuffers",glFramebufferDrawBuffers,GLuint -> GLsizei -> Ptr GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glFramebufferReadBuffer,ptr_glFramebufferReadBuffer,"glFramebufferReadBuffer",glFramebufferReadBuffer,GLuint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glNamedFramebufferTexture,ptr_glNamedFramebufferTexture,"glNamedFramebufferTexture",glNamedFramebufferTexture,GLuint -> GLenum -> GLuint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedFramebufferTextureLayer,ptr_glNamedFramebufferTextureLayer,"glNamedFramebufferTextureLayer",glNamedFramebufferTextureLayer,GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-EXTENSION_ENTRY(dyn_glNamedFramebufferTextureFace,ptr_glNamedFramebufferTextureFace,"glNamedFramebufferTextureFace",glNamedFramebufferTextureFace,GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-EXTENSION_ENTRY(dyn_glTextureRenderbuffer,ptr_glTextureRenderbuffer,"glTextureRenderbuffer",glTextureRenderbuffer,GLuint -> GLenum -> GLuint -> IO ())
-EXTENSION_ENTRY(dyn_glMultiTexRenderbuffer,ptr_glMultiTexRenderbuffer,"glMultiTexRenderbuffer",glMultiTexRenderbuffer,GLenum -> GLenum -> GLuint -> IO ())
-
 gl_PROGRAM_MATRIX :: GLenum
-gl_PROGRAM_MATRIX = 0x8E2D
+gl_PROGRAM_MATRIX = gl_PROGRAM_MATRIX_EXT
 
 gl_TRANSPOSE_PROGRAM_MATRIX :: GLenum
-gl_TRANSPOSE_PROGRAM_MATRIX = 0x8E2E
+gl_TRANSPOSE_PROGRAM_MATRIX = gl_TRANSPOSE_PROGRAM_MATRIX_EXT
 
 gl_PROGRAM_MATRIX_STACK_DEPTH :: GLenum
-gl_PROGRAM_MATRIX_STACK_DEPTH = 0x8E2F
+gl_PROGRAM_MATRIX_STACK_DEPTH = gl_PROGRAM_MATRIX_STACK_DEPTH_EXT
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/FragmentLighting.hs
@@ -57,15 +57,13 @@
    gl_FRAGMENT_LIGHT7
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_fragment_lighting"
 
 EXTENSION_ENTRY(dyn_glFragmentLightModeli,ptr_glFragmentLightModeli,"glFragmentLightModeli",glFragmentLightModeli,GLenum -> GLint -> IO ())
 EXTENSION_ENTRY(dyn_glFragmentLightModelf,ptr_glFragmentLightModelf,"glFragmentLightModelf",glFragmentLightModelf,GLenum -> GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs
@@ -21,15 +21,13 @@
    glProgramLocalParameters4fv
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_program_parameters"
 
 EXTENSION_ENTRY(dyn_glProgramEnvParameters4fv,ptr_glProgramEnvParameters4fv,"glProgramEnvParameters4fv",glProgramEnvParameters4fv,GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
 EXTENSION_ENTRY(dyn_glProgramLocalParameters4fv,ptr_glProgramLocalParameters4fv,"glProgramLocalParameters4fv",glProgramLocalParameters4fv,GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
@@ -25,12 +25,11 @@
 
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_index_func"
 
 EXTENSION_ENTRY(dyn_glIndexFunc,ptr_glIndexFunc,"glIndexFunc",glIndexFunc,GLenum -> GLfloat -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
@@ -24,13 +24,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_index_material"
 
 EXTENSION_ENTRY(dyn_glIndexMaterial,ptr_glIndexMaterial,"glIndexMaterial",glIndexMaterial,GLenum -> GLenum -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
@@ -35,12 +35,11 @@
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_light_texture"
 
 EXTENSION_ENTRY(dyn_glApplyTexture,ptr_glApplyTexture,"glApplyTexture",glApplyTexture,GLenum -> IO ())
 EXTENSION_ENTRY(dyn_glTextureLight,ptr_glTextureLight,"glTextureLight",glTextureLight,GLenum -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
@@ -39,15 +39,14 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_multisample"
 
 EXTENSION_ENTRY(dyn_glSampleMask,ptr_glSampleMask,"glSampleMask",glSampleMask,GLclampf -> GLboolean -> IO ())
 EXTENSION_ENTRY(dyn_glSamplePattern,ptr_glSamplePattern,"glSamplePattern",glSamplePattern,GLenum -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs
@@ -21,4 +21,4 @@
    gl_TEXTURE_STENCIL_SIZE
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs
@@ -34,15 +34,13 @@
    gl_PIXEL_TRANSFORM_2D_MATRIX
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_pixel_transform"
 
 EXTENSION_ENTRY(dyn_glPixelTransformParameteri,ptr_glPixelTransformParameteri,"glPixelTransformParameteri",glPixelTransformParameteri,GLenum -> GLenum -> GLint -> IO ())
 EXTENSION_ENTRY(dyn_glPixelTransformParameterf,ptr_glPixelTransformParameterf,"glPixelTransformParameterf",glPixelTransformParameterf,GLenum -> GLenum -> GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/SceneMarker.hs
@@ -20,12 +20,11 @@
    glEndScene
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_scene_marker"
 
 EXTENSION_ENTRY(dyn_glBeginScene,ptr_glBeginScene,"glBeginScene",glBeginScene,IO ())
 EXTENSION_ENTRY(dyn_glEndScene,ptr_glEndScene,"glEndScene",glEndScene,IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
@@ -24,13 +24,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_stencil_clear_tag"
 
 EXTENSION_ENTRY(dyn_glStencilClearTag,ptr_glStencilClearTag,"glStencilClearTag",glStencilClearTag,GLsizei -> GLuint -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
@@ -23,13 +23,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_stencil_two_side"
 
 EXTENSION_ENTRY(dyn_glActiveStencilFace,ptr_glActiveStencilFace,"glActiveStencilFace",glActiveStencilFace,GLenum -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
@@ -50,14 +50,13 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_texture_integer"
 
 EXTENSION_ENTRY(dyn_glClearColorIi,ptr_glClearColorIi,"glClearColorIi",glClearColorIi,GLint -> GLint -> GLint -> GLint -> IO ())
 EXTENSION_ENTRY(dyn_glClearColorIui,ptr_glClearColorIui,"glClearColorIui",glClearColorIui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
@@ -20,13 +20,11 @@
   gl_MIRROR_CLAMP_TO_BORDER
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
 
 gl_MIRROR_CLAMP :: GLenum
 gl_MIRROR_CLAMP = 0x8742
-
-gl_MIRROR_CLAMP_TO_EDGE :: GLenum
-gl_MIRROR_CLAMP_TO_EDGE = 0x8743
 
 gl_MIRROR_CLAMP_TO_BORDER :: GLenum
 gl_MIRROR_CLAMP_TO_BORDER = 0x8912
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
@@ -23,13 +23,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_texture_perturb_normal"
 
 EXTENSION_ENTRY(dyn_glTextureNormal,ptr_glTextureNormal,"glTextureNormal",glTextureNormal,GLenum -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs
@@ -20,4 +20,4 @@
    gl_TEXTURE_SHARED_SIZE
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
@@ -34,23 +34,23 @@
    gl_VERTEX_ARRAY_SIZE,
    gl_VERTEX_ARRAY_TYPE,
    gl_VERTEX_ARRAY_STRIDE,
-   gl_VERTEX_ARRAY_COUNT,
+   gl_VERTEX_ARRAY_COUNT_EXT,
    gl_NORMAL_ARRAY_TYPE,
    gl_NORMAL_ARRAY_STRIDE,
-   gl_NORMAL_ARRAY_COUNT,
+   gl_NORMAL_ARRAY_COUNT_EXT,
    gl_COLOR_ARRAY_SIZE,
    gl_COLOR_ARRAY_TYPE,
    gl_COLOR_ARRAY_STRIDE,
-   gl_COLOR_ARRAY_COUNT,
+   gl_COLOR_ARRAY_COUNT_EXT,
    gl_INDEX_ARRAY_TYPE,
    gl_INDEX_ARRAY_STRIDE,
-   gl_INDEX_ARRAY_COUNT,
+   gl_INDEX_ARRAY_COUNT_EXT,
    gl_TEXTURE_COORD_ARRAY_SIZE,
    gl_TEXTURE_COORD_ARRAY_TYPE,
    gl_TEXTURE_COORD_ARRAY_STRIDE,
-   gl_TEXTURE_COORD_ARRAY_COUNT,
+   gl_TEXTURE_COORD_ARRAY_COUNT_EXT,
    gl_EDGE_FLAG_ARRAY_STRIDE,
-   gl_EDGE_FLAG_ARRAY_COUNT,
+   gl_EDGE_FLAG_ARRAY_COUNT_EXT,
    gl_VERTEX_ARRAY_POINTER,
    gl_NORMAL_ARRAY_POINTER,
    gl_COLOR_ARRAY_POINTER,
@@ -59,5 +59,5 @@
    gl_EDGE_FLAG_ARRAY_POINTER
 ) where
 
-import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Core32
+import Graphics.Rendering.OpenGL.Raw.Functions
+import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
@@ -171,16 +171,14 @@
    gl_MVP_MATRIX
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_vertex_shader"
 
 EXTENSION_ENTRY(dyn_glBeginVertexShader,ptr_glBeginVertexShader,"glBeginVertexShader",glBeginVertexShader,IO ())
 EXTENSION_ENTRY(dyn_glEndVertexShader,ptr_glEndVertexShader,"glEndVertexShader",glEndVertexShader,IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
@@ -35,16 +35,14 @@
    gl_VERTEX_WEIGHT_ARRAY_POINTER
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_EXT_vertex_weighting"
 
 EXTENSION_ENTRY(dyn_glVertexWeightf,ptr_glVertexWeightf,"glVertexWeightf",glVertexWeightf,GLfloat -> IO ())
 EXTENSION_ENTRY(dyn_glVertexWeightfv,ptr_glVertexWeightfv,"glVertexWeightfv",glVertexWeightfv,Ptr GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Extensions.hs b/src/Graphics/Rendering/OpenGL/Raw/Extensions.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Extensions.hs
+++ /dev/null
@@ -1,45 +0,0 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Extensions
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- This internal module offers convenience functions and re-exports for OpenGL
--- extension loading.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Extensions (
-   Invoker, getExtensionEntry,
-   FunPtr, unsafePerformIO
-) where
-
-import Foreign.Marshal.Error
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.GetProcAddress
-import System.IO.Unsafe
-
---------------------------------------------------------------------------------
-
-type Invoker a = FunPtr a -> a
-
-getExtensionEntry :: String -> String -> IO (FunPtr a)
-getExtensionEntry extensionNameString extensionEntry =
-   throwIfNullFunPtr ("unknown OpenGL extension entry " ++ extensionEntry ++
-                      ", check for " ++ extensionNameString) $
-      getProcAddressWithSuffixes extensionEntry extensionSuffixes
-
-throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
-throwIfNullFunPtr = throwIf (== nullFunPtr) . const
-
--- non-ARB extension suffixes are in descending order of number of extensions
-extensionSuffixes :: [String]
-extensionSuffixes = [
-   "", "ARB", "EXT", "NV", "SGIX", "SGIS", "ATI", "APPLE", "SUN", "OES", "IBM",
-   "MESA", "HP", "SGI", "OML", "AMD", "3DFX", "WIN", "PGI", "INTEL", "INGR",
-   "GREMEDY", "SUNX", "S3", "REND", "MESAX" ]
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/Functions.hs
new file mode 100644
# file too large to diff: src/Graphics/Rendering/OpenGL/Raw/Functions.hs
diff --git a/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs b/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
@@ -2,26 +2,35 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.GetProcAddress
--- Copyright   :  (c) Sven Panne 2013
+-- Copyright   :  (c) Sven Panne 2015
 -- License     :  BSD3
 --
 -- Maintainer  :  Sven Panne <svenpanne@gmail.com>
 -- Stability   :  stable
 -- Portability :  portable
 --
--- This module offers a portable way to retrieve OpenGL extension entries,
--- providing a portability layer upon platform-specific mechanisms like
--- @glXGetProcAddress@, @wglGetProcAddress@ or @NSAddressOfSymbol@.
+-- This module offers a portable way to retrieve OpenGL functions and extension
+-- entries, providing a portability layer upon platform-specific mechanisms
+-- like @glXGetProcAddress@, @wglGetProcAddress@ or @NSAddressOfSymbol@.
 --
 --------------------------------------------------------------------------------
 
 module Graphics.Rendering.OpenGL.Raw.GetProcAddress (
-   getProcAddress, getProcAddressWithSuffixes
+   -- * Unchecked retrieval
+   getProcAddress,
+   getProcAddressWithSuffixes,
+   getExtension,
+   -- * Checked retrieval
+   getProcAddressChecked,
+   getProcAddressWithSuffixesChecked,
+   getExtensionChecked
+
 ) where
 
-import Control.Monad
-import Foreign.C.String
-import Foreign.Ptr
+import Control.Monad ( foldM )
+import Foreign.C.String ( withCString, CString )
+import Foreign.Marshal.Error ( throwIf )
+import Foreign.Ptr ( FunPtr, nullFunPtr )
 
 #ifdef __HUGS__
 {-# CFILES cbits/HsOpenGLRaw.c #-}
@@ -29,19 +38,64 @@
 
 --------------------------------------------------------------------------------
 
--- | Retrieve an OpenGL extension entry by name. Returns 'nullFunPtr' when no
--- extension entry with the given name was found.
+-- | Retrieve an OpenGL function by name. Returns 'nullFunPtr' when no function
+-- with the given name was found.
 getProcAddress :: String -> IO (FunPtr a)
-getProcAddress extensionEntry =
-   withCString extensionEntry hs_OpenGLRaw_getProcAddress
+getProcAddress cmd = withCString cmd hs_OpenGLRaw_getProcAddress
 
 foreign import ccall unsafe "hs_OpenGLRaw_getProcAddress"
    hs_OpenGLRaw_getProcAddress :: CString -> IO (FunPtr a)
 
--- | Retrieve an OpenGL extension entry by name, trying a list of name suffixes
--- in the given order. Returns 'nullFunPtr' when no extension entry with the
--- given name plus any of the suffixes was found.
+-- | Retrieve an OpenGL function by name. Throws an 'userError' when no function
+-- with the given name was found.
+getProcAddressChecked :: String -> IO (FunPtr a)
+getProcAddressChecked cmd = check cmd $ getProcAddress cmd
+
+-- | Retrieve an OpenGL function by name, trying a list of name suffixes in the
+-- given order. Returns 'nullFunPtr' when no function with the given name plus
+-- any of the suffixes was found.
 getProcAddressWithSuffixes :: String -> [String] -> IO (FunPtr a)
-getProcAddressWithSuffixes extensionEntry = foldM gpa nullFunPtr
-   where gpa p s | p == nullFunPtr = getProcAddress (extensionEntry ++ s)
+getProcAddressWithSuffixes cmd = foldM gpa nullFunPtr
+   where gpa p s | p == nullFunPtr = getProcAddress (cmd ++ s)
                  | otherwise       = return p
+
+-- | Retrieve an OpenGL function by name, trying a list of name suffixes in the
+-- given order. Throws an 'userError' when no function with the given name plus
+-- any of the suffixes was found.
+getProcAddressWithSuffixesChecked :: String -> [String] -> IO (FunPtr a)
+getProcAddressWithSuffixesChecked cmd suffixes =
+   check cmd $ getProcAddressWithSuffixes cmd suffixes
+
+-- | Retrieve an OpenGL function by name, additionally trying a list of all
+-- known vendor suffixes. Returns 'nullFunPtr' when no function with the given
+-- name plus any of the suffixes was found.
+getExtension :: String -> IO (FunPtr a)
+getExtension = flip getProcAddressWithSuffixes vendorSuffixes
+
+-- | Retrieve an OpenGL function by name, additionally trying a list of all
+-- known vendor suffixes. Throws an 'userError' when no function with the given
+-- name plus any of the suffixes was found.
+getExtensionChecked :: String -> IO (FunPtr a)
+getExtensionChecked = flip getProcAddressWithSuffixesChecked vendorSuffixes
+
+check :: String -> IO (FunPtr a) -> IO (FunPtr a)
+check = throwIfNullFunPtr . ("unknown OpenGL command " ++)
+
+-- This should really live in Foreign.Marshal.Error.
+throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
+throwIfNullFunPtr = throwIf (== nullFunPtr) . const
+
+vendorSuffixes :: [String]
+vendorSuffixes = [
+   -- stuff already in the standard
+   "",
+   -- officially blessed stuff
+   "ARB", "KHR", "OES",
+   -- almost official stuff
+   "EXT",
+   -- random vendor stuff in decreasing order of number of extensions
+   "NV", "SGIX", "AMD", "APPLE", "ATI", "SGIS", "ANGLE", "QCOM", "IMG", "SUN",
+   "IBM", "ARM", "MESA", "INTEL", "HP", "SGI", "OML", "INGR", "3DFX", "WIN",
+   "PGI", "NVX", "GREMEDY", "DMP", "VIV", "SUNX", "S3", "REND", "MESAX", "FJ",
+   "ANDROID" ]
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
@@ -27,14 +27,13 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_depth_buffer_float"
 
 EXTENSION_ENTRY(dyn_glDepthRanged,ptr_glDepthRanged,"glDepthRanged",glDepthRanged,GLdouble -> GLdouble -> IO ())
 EXTENSION_ENTRY(dyn_glClearDepthd,ptr_glClearDepthd,"glClearDepthd",glClearDepthd,GLdouble -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
@@ -37,12 +37,11 @@
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_explicit_multisample"
 
 EXTENSION_ENTRY(dyn_glSampleMaskIndexed,ptr_glSampleMaskIndexed,"glSampleMaskIndexed",glSampleMaskIndexed,GLuint -> GLbitfield -> IO ())
 EXTENSION_ENTRY(dyn_glTexRenderbuffer,ptr_glTexRenderbuffer,"glTexRenderbuffer",glTexRenderbuffer,GLenum -> GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
@@ -29,15 +29,13 @@
    gl_FENCE_CONDITION
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_fence"
 
 EXTENSION_ENTRY(dyn_glGenFences,ptr_glGenFences,"glGenFences",glGenFences,GLsizei -> Ptr GLuint -> IO ())
 EXTENSION_ENTRY(dyn_glDeleteFences,ptr_glDeleteFences,"glDeleteFences",glDeleteFences,GLsizei -> Ptr GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
@@ -37,16 +37,14 @@
    gl_PROGRAM_ERROR_STRING
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_fragment_program"
 
 EXTENSION_ENTRY(dyn_glProgramNamedParameter4f,ptr_glProgramNamedParameter4f,"glProgramNamedParameter4f",glProgramNamedParameter4f,GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
 EXTENSION_ENTRY(dyn_glProgramNamedParameter4d,ptr_glProgramNamedParameter4d,"glProgramNamedParameter4d",glProgramNamedParameter4d,GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
@@ -26,13 +26,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_framebuffer_multisample_coverage"
 
 EXTENSION_ENTRY(dyn_glRenderbufferStorageMultisampleCoverage,ptr_glRenderbufferStorageMultisampleCoverage,"glRenderbufferStorageMultisampleCoverage",glRenderbufferStorageMultisampleCoverage,GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
@@ -43,16 +43,14 @@
    gl_MAX_PROGRAM_GENERIC_RESULTS
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_gpu_program4"
 
 EXTENSION_ENTRY(dyn_glProgramLocalParameterI4i,ptr_glProgramLocalParameterI4i,"glProgramLocalParameterI4i",glProgramLocalParameterI4i,GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
 EXTENSION_ENTRY(dyn_glProgramLocalParameterI4iv,ptr_glProgramLocalParameterI4iv,"glProgramLocalParameterI4iv",glProgramLocalParameterI4iv,GLenum -> GLuint -> Ptr GLint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
@@ -30,21 +30,20 @@
    gl_TRIANGLES_ADJACENCY,
    gl_TRIANGLE_STRIP_ADJACENCY,
    gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
-   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT,
+   gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB,
    gl_FRAMEBUFFER_ATTACHMENT_LAYERED,
    gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
    gl_PROGRAM_POINT_SIZE
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_geometry_program4"
 
 EXTENSION_ENTRY(dyn_glProgramVertexLimit,ptr_glProgramVertexLimit,"glProgramVertexLimit",glProgramVertexLimit,GLenum -> GLint -> IO ())
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
@@ -68,16 +68,14 @@
    GLhalf
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_half_float"
 
 EXTENSION_ENTRY(dyn_glVertex2h,ptr_glVertex2h,"glVertex2h",glVertex2h,GLhalf -> GLhalf -> IO ())
 EXTENSION_ENTRY(dyn_glVertex2hv,ptr_glVertex2hv,"glVertex2hv",glVertex2hv,Ptr GLhalf -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
@@ -33,15 +33,13 @@
    gl_PIXEL_COUNT_AVAILABLE
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_occlusion_query"
 
 EXTENSION_ENTRY(dyn_glGenOcclusionQueries,ptr_glGenOcclusionQueries,"glGenOcclusionQueries",glGenOcclusionQueries,GLsizei -> Ptr GLuint -> IO ())
 EXTENSION_ENTRY(dyn_glDeleteOcclusionQueries,ptr_glDeleteOcclusionQueries,"glDeleteOcclusionQueries",glDeleteOcclusionQueries,GLsizei -> Ptr GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
@@ -31,17 +31,15 @@
    gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_parameter_buffer_object"
 
 EXTENSION_ENTRY(dyn_glBindBufferOffset,ptr_glBindBufferOffset,"glBindBufferOffset",glBindBufferOffset,GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
 EXTENSION_ENTRY(dyn_glProgramBufferParametersfv,ptr_glProgramBufferParametersfv,"glProgramBufferParametersfv",glProgramBufferParametersfv,GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
@@ -197,16 +197,13 @@
 
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_path_rendering"
-
 
 EXTENSION_ENTRY(dyn_glPathCommandsNV,ptr_glPathCommandsNV,"glPathCommandsNV",glPathCommandsNV,GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
 EXTENSION_ENTRY(dyn_glPathCoordsNV,ptr_glPathCoordsNV,"glPathCoordsNV",glPathCoordsNV,GLuint -> GLsizei -> GLenum -> Ptr GLubyte -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
@@ -31,15 +31,13 @@
    gl_PRESENT_DURATION
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.Core32
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_present_video"
 
 EXTENSION_ENTRY(dyn_glPresentFrameKeyed,ptr_glPresentFrameKeyed,"glPresentFrameKeyed",glPresentFrameKeyed,GLuint -> GLuint64 -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
 EXTENSION_ENTRY(dyn_glPresentFrameDualFill,ptr_glPresentFrameDualFill,"glPresentFrameDualFill",glPresentFrameDualFill,GLuint -> GLuint64 -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
@@ -27,13 +27,12 @@
 ) where
 
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_primitive_restart"
 
 EXTENSION_ENTRY(dyn_glPrimitiveRestart,ptr_glPrimitiveRestart,"glPrimitiveRestart",glPrimitiveRestart, IO ())
 EXTENSION_ENTRY(dyn_glPrimitiveRestartIndexNV,ptr_glPrimitiveRestartIndexNV,"glPrimitiveRestartIndexNV",glPrimitiveRestartIndexNV,GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
@@ -85,16 +85,14 @@
    gl_MAX_GENERAL_COMBINERS
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_register_combiners"
 
 EXTENSION_ENTRY(dyn_glCombinerParameterfv,ptr_glCombinerParameterfv,"glCombinerParameterfv",glCombinerParameterfv,GLenum -> Ptr GLfloat -> IO ())
 EXTENSION_ENTRY(dyn_glCombinerParameteriv,ptr_glCombinerParameteriv,"glCombinerParameteriv",glCombinerParameteriv,GLenum -> Ptr GLint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
@@ -33,16 +33,14 @@
    gl_COMBINER7
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_register_combiners2"
 
 EXTENSION_ENTRY(dyn_glCombinerStageParameterfv,ptr_glCombinerStageParameterfv,"glCombinerStageParameterfv",glCombinerStageParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
 EXTENSION_ENTRY(dyn_glGetCombinerStageParameterfv,ptr_glGetCombinerStageParameterfv,"glGetCombinerStageParameterfv",glGetCombinerStageParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
@@ -66,19 +66,17 @@
    gl_UNSIGNED_INT_VEC4
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
 import Graphics.Rendering.OpenGL.Raw.Core32
 import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 import Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
 import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_transform_feedback"
 
 EXTENSION_ENTRY(dyn_glTransformFeedbackAttribs,ptr_glTransformFeedbackAttribs,"glTransformFeedbackAttribs",glTransformFeedbackAttribs,GLsizei -> Ptr GLint -> GLenum -> IO ())
 EXTENSION_ENTRY(dyn_glTransformFeedbackVaryingsNV,ptr_glTransformFeedbackVaryingsNV,"glTransformFeedbackVaryingsNV",glTransformFeedbackVaryingsNV,GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
@@ -27,15 +27,13 @@
    gl_VERTEX_ARRAY_RANGE_POINTER
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Graphics.Rendering.OpenGL.Raw.Types
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_vertex_array_range"
 
 EXTENSION_ENTRY(dyn_glVertexArrayRange,ptr_glVertexArrayRange,"glVertexArrayRange",glVertexArrayRange,GLsizei -> Ptr a -> IO ())
 EXTENSION_ENTRY(dyn_glFlushVertexArrayRange,ptr_glFlushVertexArrayRange,"glFlushVertexArrayRange",glFlushVertexArrayRange,IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
@@ -166,16 +166,14 @@
    gl_MAP2_VERTEX_ATTRIB15_4
 ) where
 
-import Foreign.Ptr
 import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw.Core31.Types
+import Graphics.Rendering.OpenGL.Raw.Types
 import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.Extensions
+import Foreign.Ptr ( Ptr, FunPtr )
+import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensionChecked )
+import System.IO.Unsafe ( unsafePerformIO )
 
 #include "HsOpenGLRaw.h"
-
-extensionNameString :: String
-extensionNameString = "GL_NV_vertex_program"
 
 EXTENSION_ENTRY(dyn_glBindProgramNV,ptr_glBindProgramNV,"glBindProgramNV",glBindProgramNV,GLenum -> GLuint -> IO ())
 EXTENSION_ENTRY(dyn_glDeleteProgramsNV,ptr_glDeleteProgramsNV,"glDeleteProgramsNV",glDeleteProgramsNV,GLsizei -> Ptr GLuint -> IO ())
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs b/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs
@@ -0,0 +1,16390 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Tokens
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All enumeration tokens from the OpenGL registry, see
+-- <http://www.opengl.org/registry/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Tokens where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+
+gl_1PASS_EXT :: GLenum
+gl_1PASS_EXT = 0x80A1
+
+gl_1PASS_SGIS :: GLenum
+gl_1PASS_SGIS = 0x80A1
+
+gl_2D :: GLenum
+gl_2D = 0x0600
+
+gl_2PASS_0_EXT :: GLenum
+gl_2PASS_0_EXT = 0x80A2
+
+gl_2PASS_0_SGIS :: GLenum
+gl_2PASS_0_SGIS = 0x80A2
+
+gl_2PASS_1_EXT :: GLenum
+gl_2PASS_1_EXT = 0x80A3
+
+gl_2PASS_1_SGIS :: GLenum
+gl_2PASS_1_SGIS = 0x80A3
+
+gl_2X_BIT_ATI :: GLbitfield
+gl_2X_BIT_ATI = 0x00000001
+
+gl_2_BYTES :: GLenum
+gl_2_BYTES = 0x1407
+
+gl_2_BYTES_NV :: GLenum
+gl_2_BYTES_NV = 0x1407
+
+gl_3D :: GLenum
+gl_3D = 0x0601
+
+gl_3DC_XY_AMD :: GLenum
+gl_3DC_XY_AMD = 0x87FA
+
+gl_3DC_X_AMD :: GLenum
+gl_3DC_X_AMD = 0x87F9
+
+gl_3D_COLOR :: GLenum
+gl_3D_COLOR = 0x0602
+
+gl_3D_COLOR_TEXTURE :: GLenum
+gl_3D_COLOR_TEXTURE = 0x0603
+
+gl_3_BYTES :: GLenum
+gl_3_BYTES = 0x1408
+
+gl_3_BYTES_NV :: GLenum
+gl_3_BYTES_NV = 0x1408
+
+gl_422_AVERAGE_EXT :: GLenum
+gl_422_AVERAGE_EXT = 0x80CE
+
+gl_422_EXT :: GLenum
+gl_422_EXT = 0x80CC
+
+gl_422_REV_AVERAGE_EXT :: GLenum
+gl_422_REV_AVERAGE_EXT = 0x80CF
+
+gl_422_REV_EXT :: GLenum
+gl_422_REV_EXT = 0x80CD
+
+gl_4D_COLOR_TEXTURE :: GLenum
+gl_4D_COLOR_TEXTURE = 0x0604
+
+gl_4PASS_0_EXT :: GLenum
+gl_4PASS_0_EXT = 0x80A4
+
+gl_4PASS_0_SGIS :: GLenum
+gl_4PASS_0_SGIS = 0x80A4
+
+gl_4PASS_1_EXT :: GLenum
+gl_4PASS_1_EXT = 0x80A5
+
+gl_4PASS_1_SGIS :: GLenum
+gl_4PASS_1_SGIS = 0x80A5
+
+gl_4PASS_2_EXT :: GLenum
+gl_4PASS_2_EXT = 0x80A6
+
+gl_4PASS_2_SGIS :: GLenum
+gl_4PASS_2_SGIS = 0x80A6
+
+gl_4PASS_3_EXT :: GLenum
+gl_4PASS_3_EXT = 0x80A7
+
+gl_4PASS_3_SGIS :: GLenum
+gl_4PASS_3_SGIS = 0x80A7
+
+gl_4X_BIT_ATI :: GLbitfield
+gl_4X_BIT_ATI = 0x00000002
+
+gl_4_BYTES :: GLenum
+gl_4_BYTES = 0x1409
+
+gl_4_BYTES_NV :: GLenum
+gl_4_BYTES_NV = 0x1409
+
+gl_8X_BIT_ATI :: GLbitfield
+gl_8X_BIT_ATI = 0x00000004
+
+gl_ABGR_EXT :: GLenum
+gl_ABGR_EXT = 0x8000
+
+gl_ACCUM :: GLenum
+gl_ACCUM = 0x0100
+
+gl_ACCUM_ADJACENT_PAIRS_NV :: GLenum
+gl_ACCUM_ADJACENT_PAIRS_NV = 0x90AD
+
+gl_ACCUM_ALPHA_BITS :: GLenum
+gl_ACCUM_ALPHA_BITS = 0x0D5B
+
+gl_ACCUM_BLUE_BITS :: GLenum
+gl_ACCUM_BLUE_BITS = 0x0D5A
+
+gl_ACCUM_BUFFER_BIT :: GLbitfield
+gl_ACCUM_BUFFER_BIT = 0x00000200
+
+gl_ACCUM_CLEAR_VALUE :: GLenum
+gl_ACCUM_CLEAR_VALUE = 0x0B80
+
+gl_ACCUM_GREEN_BITS :: GLenum
+gl_ACCUM_GREEN_BITS = 0x0D59
+
+gl_ACCUM_RED_BITS :: GLenum
+gl_ACCUM_RED_BITS = 0x0D58
+
+gl_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9
+
+gl_ACTIVE_ATTRIBUTES :: GLenum
+gl_ACTIVE_ATTRIBUTES = 0x8B89
+
+gl_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
+gl_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A
+
+gl_ACTIVE_PROGRAM :: GLenum
+gl_ACTIVE_PROGRAM = 0x8259
+
+gl_ACTIVE_PROGRAM_EXT :: GLenum
+gl_ACTIVE_PROGRAM_EXT = 0x8B8D
+
+gl_ACTIVE_RESOURCES :: GLenum
+gl_ACTIVE_RESOURCES = 0x92F5
+
+gl_ACTIVE_STENCIL_FACE_EXT :: GLenum
+gl_ACTIVE_STENCIL_FACE_EXT = 0x8911
+
+gl_ACTIVE_SUBROUTINES :: GLenum
+gl_ACTIVE_SUBROUTINES = 0x8DE5
+
+gl_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
+gl_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48
+
+gl_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
+gl_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6
+
+gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
+gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47
+
+gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
+gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49
+
+gl_ACTIVE_TEXTURE :: GLenum
+gl_ACTIVE_TEXTURE = 0x84E0
+
+gl_ACTIVE_TEXTURE_ARB :: GLenum
+gl_ACTIVE_TEXTURE_ARB = 0x84E0
+
+gl_ACTIVE_UNIFORMS :: GLenum
+gl_ACTIVE_UNIFORMS = 0x8B86
+
+gl_ACTIVE_UNIFORM_BLOCKS :: GLenum
+gl_ACTIVE_UNIFORM_BLOCKS = 0x8A36
+
+gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
+gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35
+
+gl_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
+gl_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87
+
+gl_ACTIVE_VARIABLES :: GLenum
+gl_ACTIVE_VARIABLES = 0x9305
+
+gl_ACTIVE_VARYINGS_NV :: GLenum
+gl_ACTIVE_VARYINGS_NV = 0x8C81
+
+gl_ACTIVE_VARYING_MAX_LENGTH_NV :: GLenum
+gl_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82
+
+gl_ACTIVE_VERTEX_UNITS_ARB :: GLenum
+gl_ACTIVE_VERTEX_UNITS_ARB = 0x86A5
+
+gl_ADD :: GLenum
+gl_ADD = 0x0104
+
+gl_ADD_ATI :: GLenum
+gl_ADD_ATI = 0x8963
+
+gl_ADD_BLEND_IMG :: GLenum
+gl_ADD_BLEND_IMG = 0x8C09
+
+gl_ADD_SIGNED :: GLenum
+gl_ADD_SIGNED = 0x8574
+
+gl_ADD_SIGNED_ARB :: GLenum
+gl_ADD_SIGNED_ARB = 0x8574
+
+gl_ADD_SIGNED_EXT :: GLenum
+gl_ADD_SIGNED_EXT = 0x8574
+
+gl_ADJACENT_PAIRS_NV :: GLenum
+gl_ADJACENT_PAIRS_NV = 0x90AE
+
+gl_AFFINE_2D_NV :: GLenum
+gl_AFFINE_2D_NV = 0x9092
+
+gl_AFFINE_3D_NV :: GLenum
+gl_AFFINE_3D_NV = 0x9094
+
+gl_ALIASED_LINE_WIDTH_RANGE :: GLenum
+gl_ALIASED_LINE_WIDTH_RANGE = 0x846E
+
+gl_ALIASED_POINT_SIZE_RANGE :: GLenum
+gl_ALIASED_POINT_SIZE_RANGE = 0x846D
+
+gl_ALLOW_DRAW_FRG_HINT_PGI :: GLenum
+gl_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210
+
+gl_ALLOW_DRAW_MEM_HINT_PGI :: GLenum
+gl_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211
+
+gl_ALLOW_DRAW_OBJ_HINT_PGI :: GLenum
+gl_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E
+
+gl_ALLOW_DRAW_WIN_HINT_PGI :: GLenum
+gl_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F
+
+gl_ALL_ATTRIB_BITS :: GLbitfield
+gl_ALL_ATTRIB_BITS = 0xFFFFFFFF
+
+gl_ALL_BARRIER_BITS :: GLbitfield
+gl_ALL_BARRIER_BITS = 0xFFFFFFFF
+
+gl_ALL_BARRIER_BITS_EXT :: GLbitfield
+gl_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF
+
+gl_ALL_COMPLETED_NV :: GLenum
+gl_ALL_COMPLETED_NV = 0x84F2
+
+gl_ALL_SHADER_BITS :: GLbitfield
+gl_ALL_SHADER_BITS = 0xFFFFFFFF
+
+gl_ALL_SHADER_BITS_EXT :: GLbitfield
+gl_ALL_SHADER_BITS_EXT = 0xFFFFFFFF
+
+gl_ALL_STATIC_DATA_IBM :: GLenum
+gl_ALL_STATIC_DATA_IBM = 103060
+
+gl_ALPHA :: GLenum
+gl_ALPHA = 0x1906
+
+gl_ALPHA12 :: GLenum
+gl_ALPHA12 = 0x803D
+
+gl_ALPHA12_EXT :: GLenum
+gl_ALPHA12_EXT = 0x803D
+
+gl_ALPHA16 :: GLenum
+gl_ALPHA16 = 0x803E
+
+gl_ALPHA16F_ARB :: GLenum
+gl_ALPHA16F_ARB = 0x881C
+
+gl_ALPHA16F_EXT :: GLenum
+gl_ALPHA16F_EXT = 0x881C
+
+gl_ALPHA16I_EXT :: GLenum
+gl_ALPHA16I_EXT = 0x8D8A
+
+gl_ALPHA16UI_EXT :: GLenum
+gl_ALPHA16UI_EXT = 0x8D78
+
+gl_ALPHA16_EXT :: GLenum
+gl_ALPHA16_EXT = 0x803E
+
+gl_ALPHA16_SNORM :: GLenum
+gl_ALPHA16_SNORM = 0x9018
+
+gl_ALPHA32F_ARB :: GLenum
+gl_ALPHA32F_ARB = 0x8816
+
+gl_ALPHA32F_EXT :: GLenum
+gl_ALPHA32F_EXT = 0x8816
+
+gl_ALPHA32I_EXT :: GLenum
+gl_ALPHA32I_EXT = 0x8D84
+
+gl_ALPHA32UI_EXT :: GLenum
+gl_ALPHA32UI_EXT = 0x8D72
+
+gl_ALPHA4 :: GLenum
+gl_ALPHA4 = 0x803B
+
+gl_ALPHA4_EXT :: GLenum
+gl_ALPHA4_EXT = 0x803B
+
+gl_ALPHA8 :: GLenum
+gl_ALPHA8 = 0x803C
+
+gl_ALPHA8I_EXT :: GLenum
+gl_ALPHA8I_EXT = 0x8D90
+
+gl_ALPHA8UI_EXT :: GLenum
+gl_ALPHA8UI_EXT = 0x8D7E
+
+gl_ALPHA8_EXT :: GLenum
+gl_ALPHA8_EXT = 0x803C
+
+gl_ALPHA8_OES :: GLenum
+gl_ALPHA8_OES = 0x803C
+
+gl_ALPHA8_SNORM :: GLenum
+gl_ALPHA8_SNORM = 0x9014
+
+gl_ALPHA_BIAS :: GLenum
+gl_ALPHA_BIAS = 0x0D1D
+
+gl_ALPHA_BITS :: GLenum
+gl_ALPHA_BITS = 0x0D55
+
+gl_ALPHA_FLOAT16_APPLE :: GLenum
+gl_ALPHA_FLOAT16_APPLE = 0x881C
+
+gl_ALPHA_FLOAT16_ATI :: GLenum
+gl_ALPHA_FLOAT16_ATI = 0x881C
+
+gl_ALPHA_FLOAT32_APPLE :: GLenum
+gl_ALPHA_FLOAT32_APPLE = 0x8816
+
+gl_ALPHA_FLOAT32_ATI :: GLenum
+gl_ALPHA_FLOAT32_ATI = 0x8816
+
+gl_ALPHA_INTEGER :: GLenum
+gl_ALPHA_INTEGER = 0x8D97
+
+gl_ALPHA_INTEGER_EXT :: GLenum
+gl_ALPHA_INTEGER_EXT = 0x8D97
+
+gl_ALPHA_MAX_CLAMP_INGR :: GLenum
+gl_ALPHA_MAX_CLAMP_INGR = 0x8567
+
+gl_ALPHA_MAX_SGIX :: GLenum
+gl_ALPHA_MAX_SGIX = 0x8321
+
+gl_ALPHA_MIN_CLAMP_INGR :: GLenum
+gl_ALPHA_MIN_CLAMP_INGR = 0x8563
+
+gl_ALPHA_MIN_SGIX :: GLenum
+gl_ALPHA_MIN_SGIX = 0x8320
+
+gl_ALPHA_SCALE :: GLenum
+gl_ALPHA_SCALE = 0x0D1C
+
+gl_ALPHA_SNORM :: GLenum
+gl_ALPHA_SNORM = 0x9010
+
+gl_ALPHA_TEST :: GLenum
+gl_ALPHA_TEST = 0x0BC0
+
+gl_ALPHA_TEST_FUNC :: GLenum
+gl_ALPHA_TEST_FUNC = 0x0BC1
+
+gl_ALPHA_TEST_FUNC_QCOM :: GLenum
+gl_ALPHA_TEST_FUNC_QCOM = 0x0BC1
+
+gl_ALPHA_TEST_QCOM :: GLenum
+gl_ALPHA_TEST_QCOM = 0x0BC0
+
+gl_ALPHA_TEST_REF :: GLenum
+gl_ALPHA_TEST_REF = 0x0BC2
+
+gl_ALPHA_TEST_REF_QCOM :: GLenum
+gl_ALPHA_TEST_REF_QCOM = 0x0BC2
+
+gl_ALREADY_SIGNALED :: GLenum
+gl_ALREADY_SIGNALED = 0x911A
+
+gl_ALREADY_SIGNALED_APPLE :: GLenum
+gl_ALREADY_SIGNALED_APPLE = 0x911A
+
+gl_ALWAYS :: GLenum
+gl_ALWAYS = 0x0207
+
+gl_ALWAYS_FAST_HINT_PGI :: GLenum
+gl_ALWAYS_FAST_HINT_PGI = 0x1A20C
+
+gl_ALWAYS_SOFT_HINT_PGI :: GLenum
+gl_ALWAYS_SOFT_HINT_PGI = 0x1A20D
+
+gl_AMBIENT :: GLenum
+gl_AMBIENT = 0x1200
+
+gl_AMBIENT_AND_DIFFUSE :: GLenum
+gl_AMBIENT_AND_DIFFUSE = 0x1602
+
+gl_AND :: GLenum
+gl_AND = 0x1501
+
+gl_AND_INVERTED :: GLenum
+gl_AND_INVERTED = 0x1504
+
+gl_AND_REVERSE :: GLenum
+gl_AND_REVERSE = 0x1502
+
+gl_ANY_SAMPLES_PASSED :: GLenum
+gl_ANY_SAMPLES_PASSED = 0x8C2F
+
+gl_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
+gl_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A
+
+gl_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT :: GLenum
+gl_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A
+
+gl_ANY_SAMPLES_PASSED_EXT :: GLenum
+gl_ANY_SAMPLES_PASSED_EXT = 0x8C2F
+
+gl_ARC_TO_NV :: GLubyte
+gl_ARC_TO_NV = 0xFE
+
+gl_ARRAY_BUFFER :: GLenum
+gl_ARRAY_BUFFER = 0x8892
+
+gl_ARRAY_BUFFER_ARB :: GLenum
+gl_ARRAY_BUFFER_ARB = 0x8892
+
+gl_ARRAY_BUFFER_BINDING :: GLenum
+gl_ARRAY_BUFFER_BINDING = 0x8894
+
+gl_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_ARRAY_BUFFER_BINDING_ARB = 0x8894
+
+gl_ARRAY_ELEMENT_LOCK_COUNT_EXT :: GLenum
+gl_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9
+
+gl_ARRAY_ELEMENT_LOCK_FIRST_EXT :: GLenum
+gl_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8
+
+gl_ARRAY_OBJECT_BUFFER_ATI :: GLenum
+gl_ARRAY_OBJECT_BUFFER_ATI = 0x8766
+
+gl_ARRAY_OBJECT_OFFSET_ATI :: GLenum
+gl_ARRAY_OBJECT_OFFSET_ATI = 0x8767
+
+gl_ARRAY_SIZE :: GLenum
+gl_ARRAY_SIZE = 0x92FB
+
+gl_ARRAY_STRIDE :: GLenum
+gl_ARRAY_STRIDE = 0x92FE
+
+gl_ASYNC_DRAW_PIXELS_SGIX :: GLenum
+gl_ASYNC_DRAW_PIXELS_SGIX = 0x835D
+
+gl_ASYNC_HISTOGRAM_SGIX :: GLenum
+gl_ASYNC_HISTOGRAM_SGIX = 0x832C
+
+gl_ASYNC_MARKER_SGIX :: GLenum
+gl_ASYNC_MARKER_SGIX = 0x8329
+
+gl_ASYNC_READ_PIXELS_SGIX :: GLenum
+gl_ASYNC_READ_PIXELS_SGIX = 0x835E
+
+gl_ASYNC_TEX_IMAGE_SGIX :: GLenum
+gl_ASYNC_TEX_IMAGE_SGIX = 0x835C
+
+gl_ATC_RGBA_EXPLICIT_ALPHA_AMD :: GLenum
+gl_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93
+
+gl_ATC_RGBA_INTERPOLATED_ALPHA_AMD :: GLenum
+gl_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE
+
+gl_ATC_RGB_AMD :: GLenum
+gl_ATC_RGB_AMD = 0x8C92
+
+gl_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
+gl_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000
+
+gl_ATOMIC_COUNTER_BARRIER_BIT_EXT :: GLbitfield
+gl_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000
+
+gl_ATOMIC_COUNTER_BUFFER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER = 0x92C0
+
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5
+
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6
+
+gl_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1
+
+gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4
+
+gl_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9
+
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7
+
+gl_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3
+
+gl_ATOMIC_COUNTER_BUFFER_START :: GLenum
+gl_ATOMIC_COUNTER_BUFFER_START = 0x92C2
+
+gl_ATTACHED_SHADERS :: GLenum
+gl_ATTACHED_SHADERS = 0x8B85
+
+gl_ATTENUATION_EXT :: GLenum
+gl_ATTENUATION_EXT = 0x834D
+
+gl_ATTRIB_ARRAY_POINTER_NV :: GLenum
+gl_ATTRIB_ARRAY_POINTER_NV = 0x8645
+
+gl_ATTRIB_ARRAY_SIZE_NV :: GLenum
+gl_ATTRIB_ARRAY_SIZE_NV = 0x8623
+
+gl_ATTRIB_ARRAY_STRIDE_NV :: GLenum
+gl_ATTRIB_ARRAY_STRIDE_NV = 0x8624
+
+gl_ATTRIB_ARRAY_TYPE_NV :: GLenum
+gl_ATTRIB_ARRAY_TYPE_NV = 0x8625
+
+gl_ATTRIB_STACK_DEPTH :: GLenum
+gl_ATTRIB_STACK_DEPTH = 0x0BB0
+
+gl_AUTO_GENERATE_MIPMAP :: GLenum
+gl_AUTO_GENERATE_MIPMAP = 0x8295
+
+gl_AUTO_NORMAL :: GLenum
+gl_AUTO_NORMAL = 0x0D80
+
+gl_AUX0 :: GLenum
+gl_AUX0 = 0x0409
+
+gl_AUX1 :: GLenum
+gl_AUX1 = 0x040A
+
+gl_AUX2 :: GLenum
+gl_AUX2 = 0x040B
+
+gl_AUX3 :: GLenum
+gl_AUX3 = 0x040C
+
+gl_AUX_BUFFERS :: GLenum
+gl_AUX_BUFFERS = 0x0C00
+
+gl_AUX_DEPTH_STENCIL_APPLE :: GLenum
+gl_AUX_DEPTH_STENCIL_APPLE = 0x8A14
+
+gl_AVERAGE_EXT :: GLenum
+gl_AVERAGE_EXT = 0x8335
+
+gl_AVERAGE_HP :: GLenum
+gl_AVERAGE_HP = 0x8160
+
+gl_BACK :: GLenum
+gl_BACK = 0x0405
+
+gl_BACK_LEFT :: GLenum
+gl_BACK_LEFT = 0x0402
+
+gl_BACK_NORMALS_HINT_PGI :: GLenum
+gl_BACK_NORMALS_HINT_PGI = 0x1A223
+
+gl_BACK_PRIMARY_COLOR_NV :: GLenum
+gl_BACK_PRIMARY_COLOR_NV = 0x8C77
+
+gl_BACK_RIGHT :: GLenum
+gl_BACK_RIGHT = 0x0403
+
+gl_BACK_SECONDARY_COLOR_NV :: GLenum
+gl_BACK_SECONDARY_COLOR_NV = 0x8C78
+
+gl_BEVEL_NV :: GLenum
+gl_BEVEL_NV = 0x90A6
+
+gl_BGR :: GLenum
+gl_BGR = 0x80E0
+
+gl_BGRA :: GLenum
+gl_BGRA = 0x80E1
+
+gl_BGRA8_EXT :: GLenum
+gl_BGRA8_EXT = 0x93A1
+
+gl_BGRA_EXT :: GLenum
+gl_BGRA_EXT = 0x80E1
+
+gl_BGRA_IMG :: GLenum
+gl_BGRA_IMG = 0x80E1
+
+gl_BGRA_INTEGER :: GLenum
+gl_BGRA_INTEGER = 0x8D9B
+
+gl_BGRA_INTEGER_EXT :: GLenum
+gl_BGRA_INTEGER_EXT = 0x8D9B
+
+gl_BGR_EXT :: GLenum
+gl_BGR_EXT = 0x80E0
+
+gl_BGR_INTEGER :: GLenum
+gl_BGR_INTEGER = 0x8D9A
+
+gl_BGR_INTEGER_EXT :: GLenum
+gl_BGR_INTEGER_EXT = 0x8D9A
+
+gl_BIAS_BIT_ATI :: GLbitfield
+gl_BIAS_BIT_ATI = 0x00000008
+
+gl_BIAS_BY_NEGATIVE_ONE_HALF_NV :: GLenum
+gl_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541
+
+gl_BINNING_CONTROL_HINT_QCOM :: GLenum
+gl_BINNING_CONTROL_HINT_QCOM = 0x8FB0
+
+gl_BINORMAL_ARRAY_EXT :: GLenum
+gl_BINORMAL_ARRAY_EXT = 0x843A
+
+gl_BINORMAL_ARRAY_POINTER_EXT :: GLenum
+gl_BINORMAL_ARRAY_POINTER_EXT = 0x8443
+
+gl_BINORMAL_ARRAY_STRIDE_EXT :: GLenum
+gl_BINORMAL_ARRAY_STRIDE_EXT = 0x8441
+
+gl_BINORMAL_ARRAY_TYPE_EXT :: GLenum
+gl_BINORMAL_ARRAY_TYPE_EXT = 0x8440
+
+gl_BITMAP :: GLenum
+gl_BITMAP = 0x1A00
+
+gl_BITMAP_TOKEN :: GLenum
+gl_BITMAP_TOKEN = 0x0704
+
+gl_BLEND :: GLenum
+gl_BLEND = 0x0BE2
+
+gl_BLEND_ADVANCED_COHERENT_KHR :: GLenum
+gl_BLEND_ADVANCED_COHERENT_KHR = 0x9285
+
+gl_BLEND_ADVANCED_COHERENT_NV :: GLenum
+gl_BLEND_ADVANCED_COHERENT_NV = 0x9285
+
+gl_BLEND_COLOR :: GLenum
+gl_BLEND_COLOR = 0x8005
+
+gl_BLEND_COLOR_EXT :: GLenum
+gl_BLEND_COLOR_EXT = 0x8005
+
+gl_BLEND_DST :: GLenum
+gl_BLEND_DST = 0x0BE0
+
+gl_BLEND_DST_ALPHA :: GLenum
+gl_BLEND_DST_ALPHA = 0x80CA
+
+gl_BLEND_DST_ALPHA_EXT :: GLenum
+gl_BLEND_DST_ALPHA_EXT = 0x80CA
+
+gl_BLEND_DST_ALPHA_OES :: GLenum
+gl_BLEND_DST_ALPHA_OES = 0x80CA
+
+gl_BLEND_DST_RGB :: GLenum
+gl_BLEND_DST_RGB = 0x80C8
+
+gl_BLEND_DST_RGB_EXT :: GLenum
+gl_BLEND_DST_RGB_EXT = 0x80C8
+
+gl_BLEND_DST_RGB_OES :: GLenum
+gl_BLEND_DST_RGB_OES = 0x80C8
+
+gl_BLEND_EQUATION :: GLenum
+gl_BLEND_EQUATION = 0x8009
+
+gl_BLEND_EQUATION_ALPHA :: GLenum
+gl_BLEND_EQUATION_ALPHA = 0x883D
+
+gl_BLEND_EQUATION_ALPHA_EXT :: GLenum
+gl_BLEND_EQUATION_ALPHA_EXT = 0x883D
+
+gl_BLEND_EQUATION_ALPHA_OES :: GLenum
+gl_BLEND_EQUATION_ALPHA_OES = 0x883D
+
+gl_BLEND_EQUATION_EXT :: GLenum
+gl_BLEND_EQUATION_EXT = 0x8009
+
+gl_BLEND_EQUATION_OES :: GLenum
+gl_BLEND_EQUATION_OES = 0x8009
+
+gl_BLEND_EQUATION_RGB :: GLenum
+gl_BLEND_EQUATION_RGB = 0x8009
+
+gl_BLEND_EQUATION_RGB_EXT :: GLenum
+gl_BLEND_EQUATION_RGB_EXT = 0x8009
+
+gl_BLEND_EQUATION_RGB_OES :: GLenum
+gl_BLEND_EQUATION_RGB_OES = 0x8009
+
+gl_BLEND_OVERLAP_NV :: GLenum
+gl_BLEND_OVERLAP_NV = 0x9281
+
+gl_BLEND_PREMULTIPLIED_SRC_NV :: GLenum
+gl_BLEND_PREMULTIPLIED_SRC_NV = 0x9280
+
+gl_BLEND_SRC :: GLenum
+gl_BLEND_SRC = 0x0BE1
+
+gl_BLEND_SRC_ALPHA :: GLenum
+gl_BLEND_SRC_ALPHA = 0x80CB
+
+gl_BLEND_SRC_ALPHA_EXT :: GLenum
+gl_BLEND_SRC_ALPHA_EXT = 0x80CB
+
+gl_BLEND_SRC_ALPHA_OES :: GLenum
+gl_BLEND_SRC_ALPHA_OES = 0x80CB
+
+gl_BLEND_SRC_RGB :: GLenum
+gl_BLEND_SRC_RGB = 0x80C9
+
+gl_BLEND_SRC_RGB_EXT :: GLenum
+gl_BLEND_SRC_RGB_EXT = 0x80C9
+
+gl_BLEND_SRC_RGB_OES :: GLenum
+gl_BLEND_SRC_RGB_OES = 0x80C9
+
+gl_BLOCK_INDEX :: GLenum
+gl_BLOCK_INDEX = 0x92FD
+
+gl_BLUE :: GLenum
+gl_BLUE = 0x1905
+
+gl_BLUE_BIAS :: GLenum
+gl_BLUE_BIAS = 0x0D1B
+
+gl_BLUE_BITS :: GLenum
+gl_BLUE_BITS = 0x0D54
+
+gl_BLUE_BIT_ATI :: GLbitfield
+gl_BLUE_BIT_ATI = 0x00000004
+
+gl_BLUE_INTEGER :: GLenum
+gl_BLUE_INTEGER = 0x8D96
+
+gl_BLUE_INTEGER_EXT :: GLenum
+gl_BLUE_INTEGER_EXT = 0x8D96
+
+gl_BLUE_MAX_CLAMP_INGR :: GLenum
+gl_BLUE_MAX_CLAMP_INGR = 0x8566
+
+gl_BLUE_MIN_CLAMP_INGR :: GLenum
+gl_BLUE_MIN_CLAMP_INGR = 0x8562
+
+gl_BLUE_NV :: GLenum
+gl_BLUE_NV = 0x1905
+
+gl_BLUE_SCALE :: GLenum
+gl_BLUE_SCALE = 0x0D1A
+
+gl_BOLD_BIT_NV :: GLbitfield
+gl_BOLD_BIT_NV = 0x01
+
+gl_BOOL :: GLenum
+gl_BOOL = 0x8B56
+
+gl_BOOL_ARB :: GLenum
+gl_BOOL_ARB = 0x8B56
+
+gl_BOOL_VEC2 :: GLenum
+gl_BOOL_VEC2 = 0x8B57
+
+gl_BOOL_VEC2_ARB :: GLenum
+gl_BOOL_VEC2_ARB = 0x8B57
+
+gl_BOOL_VEC3 :: GLenum
+gl_BOOL_VEC3 = 0x8B58
+
+gl_BOOL_VEC3_ARB :: GLenum
+gl_BOOL_VEC3_ARB = 0x8B58
+
+gl_BOOL_VEC4 :: GLenum
+gl_BOOL_VEC4 = 0x8B59
+
+gl_BOOL_VEC4_ARB :: GLenum
+gl_BOOL_VEC4_ARB = 0x8B59
+
+gl_BOUNDING_BOX_NV :: GLenum
+gl_BOUNDING_BOX_NV = 0x908D
+
+gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
+gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C
+
+gl_BROWSER_DEFAULT_WEBGL :: GLenum
+gl_BROWSER_DEFAULT_WEBGL = 0x9244
+
+gl_BUFFER :: GLenum
+gl_BUFFER = 0x82E0
+
+gl_BUFFER_ACCESS :: GLenum
+gl_BUFFER_ACCESS = 0x88BB
+
+gl_BUFFER_ACCESS_ARB :: GLenum
+gl_BUFFER_ACCESS_ARB = 0x88BB
+
+gl_BUFFER_ACCESS_FLAGS :: GLenum
+gl_BUFFER_ACCESS_FLAGS = 0x911F
+
+gl_BUFFER_ACCESS_OES :: GLenum
+gl_BUFFER_ACCESS_OES = 0x88BB
+
+gl_BUFFER_BINDING :: GLenum
+gl_BUFFER_BINDING = 0x9302
+
+gl_BUFFER_DATA_SIZE :: GLenum
+gl_BUFFER_DATA_SIZE = 0x9303
+
+gl_BUFFER_FLUSHING_UNMAP_APPLE :: GLenum
+gl_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13
+
+gl_BUFFER_GPU_ADDRESS_NV :: GLenum
+gl_BUFFER_GPU_ADDRESS_NV = 0x8F1D
+
+gl_BUFFER_IMMUTABLE_STORAGE :: GLenum
+gl_BUFFER_IMMUTABLE_STORAGE = 0x821F
+
+gl_BUFFER_KHR :: GLenum
+gl_BUFFER_KHR = 0x82E0
+
+gl_BUFFER_MAPPED :: GLenum
+gl_BUFFER_MAPPED = 0x88BC
+
+gl_BUFFER_MAPPED_ARB :: GLenum
+gl_BUFFER_MAPPED_ARB = 0x88BC
+
+gl_BUFFER_MAPPED_OES :: GLenum
+gl_BUFFER_MAPPED_OES = 0x88BC
+
+gl_BUFFER_MAP_LENGTH :: GLenum
+gl_BUFFER_MAP_LENGTH = 0x9120
+
+gl_BUFFER_MAP_OFFSET :: GLenum
+gl_BUFFER_MAP_OFFSET = 0x9121
+
+gl_BUFFER_MAP_POINTER :: GLenum
+gl_BUFFER_MAP_POINTER = 0x88BD
+
+gl_BUFFER_MAP_POINTER_ARB :: GLenum
+gl_BUFFER_MAP_POINTER_ARB = 0x88BD
+
+gl_BUFFER_MAP_POINTER_OES :: GLenum
+gl_BUFFER_MAP_POINTER_OES = 0x88BD
+
+gl_BUFFER_OBJECT_APPLE :: GLenum
+gl_BUFFER_OBJECT_APPLE = 0x85B3
+
+gl_BUFFER_OBJECT_EXT :: GLenum
+gl_BUFFER_OBJECT_EXT = 0x9151
+
+gl_BUFFER_SERIALIZED_MODIFY_APPLE :: GLenum
+gl_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12
+
+gl_BUFFER_SIZE :: GLenum
+gl_BUFFER_SIZE = 0x8764
+
+gl_BUFFER_SIZE_ARB :: GLenum
+gl_BUFFER_SIZE_ARB = 0x8764
+
+gl_BUFFER_STORAGE_FLAGS :: GLenum
+gl_BUFFER_STORAGE_FLAGS = 0x8220
+
+gl_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
+gl_BUFFER_UPDATE_BARRIER_BIT = 0x00000200
+
+gl_BUFFER_UPDATE_BARRIER_BIT_EXT :: GLbitfield
+gl_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200
+
+gl_BUFFER_USAGE :: GLenum
+gl_BUFFER_USAGE = 0x8765
+
+gl_BUFFER_USAGE_ARB :: GLenum
+gl_BUFFER_USAGE_ARB = 0x8765
+
+gl_BUFFER_VARIABLE :: GLenum
+gl_BUFFER_VARIABLE = 0x92E5
+
+gl_BUMP_ENVMAP_ATI :: GLenum
+gl_BUMP_ENVMAP_ATI = 0x877B
+
+gl_BUMP_NUM_TEX_UNITS_ATI :: GLenum
+gl_BUMP_NUM_TEX_UNITS_ATI = 0x8777
+
+gl_BUMP_ROT_MATRIX_ATI :: GLenum
+gl_BUMP_ROT_MATRIX_ATI = 0x8775
+
+gl_BUMP_ROT_MATRIX_SIZE_ATI :: GLenum
+gl_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776
+
+gl_BUMP_TARGET_ATI :: GLenum
+gl_BUMP_TARGET_ATI = 0x877C
+
+gl_BUMP_TEX_UNITS_ATI :: GLenum
+gl_BUMP_TEX_UNITS_ATI = 0x8778
+
+gl_BYTE :: GLenum
+gl_BYTE = 0x1400
+
+gl_C3F_V3F :: GLenum
+gl_C3F_V3F = 0x2A24
+
+gl_C4F_N3F_V3F :: GLenum
+gl_C4F_N3F_V3F = 0x2A26
+
+gl_C4UB_V2F :: GLenum
+gl_C4UB_V2F = 0x2A22
+
+gl_C4UB_V3F :: GLenum
+gl_C4UB_V3F = 0x2A23
+
+gl_CALLIGRAPHIC_FRAGMENT_SGIX :: GLenum
+gl_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183
+
+gl_CAVEAT_SUPPORT :: GLenum
+gl_CAVEAT_SUPPORT = 0x82B8
+
+gl_CCW :: GLenum
+gl_CCW = 0x0901
+
+gl_CIRCULAR_CCW_ARC_TO_NV :: GLubyte
+gl_CIRCULAR_CCW_ARC_TO_NV = 0xF8
+
+gl_CIRCULAR_CW_ARC_TO_NV :: GLubyte
+gl_CIRCULAR_CW_ARC_TO_NV = 0xFA
+
+gl_CIRCULAR_TANGENT_ARC_TO_NV :: GLubyte
+gl_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC
+
+gl_CLAMP :: GLenum
+gl_CLAMP = 0x2900
+
+gl_CLAMP_FRAGMENT_COLOR :: GLenum
+gl_CLAMP_FRAGMENT_COLOR = 0x891B
+
+gl_CLAMP_FRAGMENT_COLOR_ARB :: GLenum
+gl_CLAMP_FRAGMENT_COLOR_ARB = 0x891B
+
+gl_CLAMP_READ_COLOR :: GLenum
+gl_CLAMP_READ_COLOR = 0x891C
+
+gl_CLAMP_READ_COLOR_ARB :: GLenum
+gl_CLAMP_READ_COLOR_ARB = 0x891C
+
+gl_CLAMP_TO_BORDER :: GLenum
+gl_CLAMP_TO_BORDER = 0x812D
+
+gl_CLAMP_TO_BORDER_ARB :: GLenum
+gl_CLAMP_TO_BORDER_ARB = 0x812D
+
+gl_CLAMP_TO_BORDER_EXT :: GLenum
+gl_CLAMP_TO_BORDER_EXT = 0x812D
+
+gl_CLAMP_TO_BORDER_NV :: GLenum
+gl_CLAMP_TO_BORDER_NV = 0x812D
+
+gl_CLAMP_TO_BORDER_OES :: GLenum
+gl_CLAMP_TO_BORDER_OES = 0x812D
+
+gl_CLAMP_TO_BORDER_SGIS :: GLenum
+gl_CLAMP_TO_BORDER_SGIS = 0x812D
+
+gl_CLAMP_TO_EDGE :: GLenum
+gl_CLAMP_TO_EDGE = 0x812F
+
+gl_CLAMP_TO_EDGE_SGIS :: GLenum
+gl_CLAMP_TO_EDGE_SGIS = 0x812F
+
+gl_CLAMP_VERTEX_COLOR :: GLenum
+gl_CLAMP_VERTEX_COLOR = 0x891A
+
+gl_CLAMP_VERTEX_COLOR_ARB :: GLenum
+gl_CLAMP_VERTEX_COLOR_ARB = 0x891A
+
+gl_CLEAR :: GLenum
+gl_CLEAR = 0x1500
+
+gl_CLEAR_BUFFER :: GLenum
+gl_CLEAR_BUFFER = 0x82B4
+
+gl_CLEAR_TEXTURE :: GLenum
+gl_CLEAR_TEXTURE = 0x9365
+
+gl_CLIENT_ACTIVE_TEXTURE :: GLenum
+gl_CLIENT_ACTIVE_TEXTURE = 0x84E1
+
+gl_CLIENT_ACTIVE_TEXTURE_ARB :: GLenum
+gl_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1
+
+gl_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
+gl_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF
+
+gl_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
+gl_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1
+
+gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
+gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000
+
+gl_CLIENT_PIXEL_STORE_BIT :: GLbitfield
+gl_CLIENT_PIXEL_STORE_BIT = 0x00000001
+
+gl_CLIENT_STORAGE_BIT :: GLbitfield
+gl_CLIENT_STORAGE_BIT = 0x0200
+
+gl_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
+gl_CLIENT_VERTEX_ARRAY_BIT = 0x00000002
+
+gl_CLIPPING_INPUT_PRIMITIVES_ARB :: GLenum
+gl_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6
+
+gl_CLIPPING_OUTPUT_PRIMITIVES_ARB :: GLenum
+gl_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7
+
+gl_CLIP_DEPTH_MODE :: GLenum
+gl_CLIP_DEPTH_MODE = 0x935D
+
+gl_CLIP_DISTANCE0 :: GLenum
+gl_CLIP_DISTANCE0 = 0x3000
+
+gl_CLIP_DISTANCE0_APPLE :: GLenum
+gl_CLIP_DISTANCE0_APPLE = 0x3000
+
+gl_CLIP_DISTANCE1 :: GLenum
+gl_CLIP_DISTANCE1 = 0x3001
+
+gl_CLIP_DISTANCE1_APPLE :: GLenum
+gl_CLIP_DISTANCE1_APPLE = 0x3001
+
+gl_CLIP_DISTANCE2 :: GLenum
+gl_CLIP_DISTANCE2 = 0x3002
+
+gl_CLIP_DISTANCE2_APPLE :: GLenum
+gl_CLIP_DISTANCE2_APPLE = 0x3002
+
+gl_CLIP_DISTANCE3 :: GLenum
+gl_CLIP_DISTANCE3 = 0x3003
+
+gl_CLIP_DISTANCE3_APPLE :: GLenum
+gl_CLIP_DISTANCE3_APPLE = 0x3003
+
+gl_CLIP_DISTANCE4 :: GLenum
+gl_CLIP_DISTANCE4 = 0x3004
+
+gl_CLIP_DISTANCE4_APPLE :: GLenum
+gl_CLIP_DISTANCE4_APPLE = 0x3004
+
+gl_CLIP_DISTANCE5 :: GLenum
+gl_CLIP_DISTANCE5 = 0x3005
+
+gl_CLIP_DISTANCE5_APPLE :: GLenum
+gl_CLIP_DISTANCE5_APPLE = 0x3005
+
+gl_CLIP_DISTANCE6 :: GLenum
+gl_CLIP_DISTANCE6 = 0x3006
+
+gl_CLIP_DISTANCE6_APPLE :: GLenum
+gl_CLIP_DISTANCE6_APPLE = 0x3006
+
+gl_CLIP_DISTANCE7 :: GLenum
+gl_CLIP_DISTANCE7 = 0x3007
+
+gl_CLIP_DISTANCE7_APPLE :: GLenum
+gl_CLIP_DISTANCE7_APPLE = 0x3007
+
+gl_CLIP_DISTANCE_NV :: GLenum
+gl_CLIP_DISTANCE_NV = 0x8C7A
+
+gl_CLIP_FAR_HINT_PGI :: GLenum
+gl_CLIP_FAR_HINT_PGI = 0x1A221
+
+gl_CLIP_NEAR_HINT_PGI :: GLenum
+gl_CLIP_NEAR_HINT_PGI = 0x1A220
+
+gl_CLIP_ORIGIN :: GLenum
+gl_CLIP_ORIGIN = 0x935C
+
+gl_CLIP_PLANE0 :: GLenum
+gl_CLIP_PLANE0 = 0x3000
+
+gl_CLIP_PLANE0_IMG :: GLenum
+gl_CLIP_PLANE0_IMG = 0x3000
+
+gl_CLIP_PLANE1 :: GLenum
+gl_CLIP_PLANE1 = 0x3001
+
+gl_CLIP_PLANE1_IMG :: GLenum
+gl_CLIP_PLANE1_IMG = 0x3001
+
+gl_CLIP_PLANE2 :: GLenum
+gl_CLIP_PLANE2 = 0x3002
+
+gl_CLIP_PLANE2_IMG :: GLenum
+gl_CLIP_PLANE2_IMG = 0x3002
+
+gl_CLIP_PLANE3 :: GLenum
+gl_CLIP_PLANE3 = 0x3003
+
+gl_CLIP_PLANE3_IMG :: GLenum
+gl_CLIP_PLANE3_IMG = 0x3003
+
+gl_CLIP_PLANE4 :: GLenum
+gl_CLIP_PLANE4 = 0x3004
+
+gl_CLIP_PLANE4_IMG :: GLenum
+gl_CLIP_PLANE4_IMG = 0x3004
+
+gl_CLIP_PLANE5 :: GLenum
+gl_CLIP_PLANE5 = 0x3005
+
+gl_CLIP_PLANE5_IMG :: GLenum
+gl_CLIP_PLANE5_IMG = 0x3005
+
+gl_CLIP_VOLUME_CLIPPING_HINT_EXT :: GLenum
+gl_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0
+
+gl_CLOSE_PATH_NV :: GLubyte
+gl_CLOSE_PATH_NV = 0x00
+
+gl_CMYKA_EXT :: GLenum
+gl_CMYKA_EXT = 0x800D
+
+gl_CMYK_EXT :: GLenum
+gl_CMYK_EXT = 0x800C
+
+gl_CND0_ATI :: GLenum
+gl_CND0_ATI = 0x896B
+
+gl_CND_ATI :: GLenum
+gl_CND_ATI = 0x896A
+
+gl_COEFF :: GLenum
+gl_COEFF = 0x0A00
+
+gl_COLOR :: GLenum
+gl_COLOR = 0x1800
+
+gl_COLOR3_BIT_PGI :: GLbitfield
+gl_COLOR3_BIT_PGI = 0x00010000
+
+gl_COLOR4_BIT_PGI :: GLbitfield
+gl_COLOR4_BIT_PGI = 0x00020000
+
+gl_COLORBURN_KHR :: GLenum
+gl_COLORBURN_KHR = 0x929A
+
+gl_COLORBURN_NV :: GLenum
+gl_COLORBURN_NV = 0x929A
+
+gl_COLORDODGE_KHR :: GLenum
+gl_COLORDODGE_KHR = 0x9299
+
+gl_COLORDODGE_NV :: GLenum
+gl_COLORDODGE_NV = 0x9299
+
+gl_COLOR_ALPHA_PAIRING_ATI :: GLenum
+gl_COLOR_ALPHA_PAIRING_ATI = 0x8975
+
+gl_COLOR_ARRAY :: GLenum
+gl_COLOR_ARRAY = 0x8076
+
+gl_COLOR_ARRAY_ADDRESS_NV :: GLenum
+gl_COLOR_ARRAY_ADDRESS_NV = 0x8F23
+
+gl_COLOR_ARRAY_BUFFER_BINDING :: GLenum
+gl_COLOR_ARRAY_BUFFER_BINDING = 0x8898
+
+gl_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898
+
+gl_COLOR_ARRAY_COUNT_EXT :: GLenum
+gl_COLOR_ARRAY_COUNT_EXT = 0x8084
+
+gl_COLOR_ARRAY_EXT :: GLenum
+gl_COLOR_ARRAY_EXT = 0x8076
+
+gl_COLOR_ARRAY_LENGTH_NV :: GLenum
+gl_COLOR_ARRAY_LENGTH_NV = 0x8F2D
+
+gl_COLOR_ARRAY_LIST_IBM :: GLenum
+gl_COLOR_ARRAY_LIST_IBM = 103072
+
+gl_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_COLOR_ARRAY_LIST_STRIDE_IBM = 103082
+
+gl_COLOR_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
+gl_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7
+
+gl_COLOR_ARRAY_POINTER :: GLenum
+gl_COLOR_ARRAY_POINTER = 0x8090
+
+gl_COLOR_ARRAY_POINTER_EXT :: GLenum
+gl_COLOR_ARRAY_POINTER_EXT = 0x8090
+
+gl_COLOR_ARRAY_SIZE :: GLenum
+gl_COLOR_ARRAY_SIZE = 0x8081
+
+gl_COLOR_ARRAY_SIZE_EXT :: GLenum
+gl_COLOR_ARRAY_SIZE_EXT = 0x8081
+
+gl_COLOR_ARRAY_STRIDE :: GLenum
+gl_COLOR_ARRAY_STRIDE = 0x8083
+
+gl_COLOR_ARRAY_STRIDE_EXT :: GLenum
+gl_COLOR_ARRAY_STRIDE_EXT = 0x8083
+
+gl_COLOR_ARRAY_TYPE :: GLenum
+gl_COLOR_ARRAY_TYPE = 0x8082
+
+gl_COLOR_ARRAY_TYPE_EXT :: GLenum
+gl_COLOR_ARRAY_TYPE_EXT = 0x8082
+
+gl_COLOR_ATTACHMENT0 :: GLenum
+gl_COLOR_ATTACHMENT0 = 0x8CE0
+
+gl_COLOR_ATTACHMENT0_EXT :: GLenum
+gl_COLOR_ATTACHMENT0_EXT = 0x8CE0
+
+gl_COLOR_ATTACHMENT0_NV :: GLenum
+gl_COLOR_ATTACHMENT0_NV = 0x8CE0
+
+gl_COLOR_ATTACHMENT0_OES :: GLenum
+gl_COLOR_ATTACHMENT0_OES = 0x8CE0
+
+gl_COLOR_ATTACHMENT1 :: GLenum
+gl_COLOR_ATTACHMENT1 = 0x8CE1
+
+gl_COLOR_ATTACHMENT10 :: GLenum
+gl_COLOR_ATTACHMENT10 = 0x8CEA
+
+gl_COLOR_ATTACHMENT10_EXT :: GLenum
+gl_COLOR_ATTACHMENT10_EXT = 0x8CEA
+
+gl_COLOR_ATTACHMENT10_NV :: GLenum
+gl_COLOR_ATTACHMENT10_NV = 0x8CEA
+
+gl_COLOR_ATTACHMENT11 :: GLenum
+gl_COLOR_ATTACHMENT11 = 0x8CEB
+
+gl_COLOR_ATTACHMENT11_EXT :: GLenum
+gl_COLOR_ATTACHMENT11_EXT = 0x8CEB
+
+gl_COLOR_ATTACHMENT11_NV :: GLenum
+gl_COLOR_ATTACHMENT11_NV = 0x8CEB
+
+gl_COLOR_ATTACHMENT12 :: GLenum
+gl_COLOR_ATTACHMENT12 = 0x8CEC
+
+gl_COLOR_ATTACHMENT12_EXT :: GLenum
+gl_COLOR_ATTACHMENT12_EXT = 0x8CEC
+
+gl_COLOR_ATTACHMENT12_NV :: GLenum
+gl_COLOR_ATTACHMENT12_NV = 0x8CEC
+
+gl_COLOR_ATTACHMENT13 :: GLenum
+gl_COLOR_ATTACHMENT13 = 0x8CED
+
+gl_COLOR_ATTACHMENT13_EXT :: GLenum
+gl_COLOR_ATTACHMENT13_EXT = 0x8CED
+
+gl_COLOR_ATTACHMENT13_NV :: GLenum
+gl_COLOR_ATTACHMENT13_NV = 0x8CED
+
+gl_COLOR_ATTACHMENT14 :: GLenum
+gl_COLOR_ATTACHMENT14 = 0x8CEE
+
+gl_COLOR_ATTACHMENT14_EXT :: GLenum
+gl_COLOR_ATTACHMENT14_EXT = 0x8CEE
+
+gl_COLOR_ATTACHMENT14_NV :: GLenum
+gl_COLOR_ATTACHMENT14_NV = 0x8CEE
+
+gl_COLOR_ATTACHMENT15 :: GLenum
+gl_COLOR_ATTACHMENT15 = 0x8CEF
+
+gl_COLOR_ATTACHMENT15_EXT :: GLenum
+gl_COLOR_ATTACHMENT15_EXT = 0x8CEF
+
+gl_COLOR_ATTACHMENT15_NV :: GLenum
+gl_COLOR_ATTACHMENT15_NV = 0x8CEF
+
+gl_COLOR_ATTACHMENT1_EXT :: GLenum
+gl_COLOR_ATTACHMENT1_EXT = 0x8CE1
+
+gl_COLOR_ATTACHMENT1_NV :: GLenum
+gl_COLOR_ATTACHMENT1_NV = 0x8CE1
+
+gl_COLOR_ATTACHMENT2 :: GLenum
+gl_COLOR_ATTACHMENT2 = 0x8CE2
+
+gl_COLOR_ATTACHMENT2_EXT :: GLenum
+gl_COLOR_ATTACHMENT2_EXT = 0x8CE2
+
+gl_COLOR_ATTACHMENT2_NV :: GLenum
+gl_COLOR_ATTACHMENT2_NV = 0x8CE2
+
+gl_COLOR_ATTACHMENT3 :: GLenum
+gl_COLOR_ATTACHMENT3 = 0x8CE3
+
+gl_COLOR_ATTACHMENT3_EXT :: GLenum
+gl_COLOR_ATTACHMENT3_EXT = 0x8CE3
+
+gl_COLOR_ATTACHMENT3_NV :: GLenum
+gl_COLOR_ATTACHMENT3_NV = 0x8CE3
+
+gl_COLOR_ATTACHMENT4 :: GLenum
+gl_COLOR_ATTACHMENT4 = 0x8CE4
+
+gl_COLOR_ATTACHMENT4_EXT :: GLenum
+gl_COLOR_ATTACHMENT4_EXT = 0x8CE4
+
+gl_COLOR_ATTACHMENT4_NV :: GLenum
+gl_COLOR_ATTACHMENT4_NV = 0x8CE4
+
+gl_COLOR_ATTACHMENT5 :: GLenum
+gl_COLOR_ATTACHMENT5 = 0x8CE5
+
+gl_COLOR_ATTACHMENT5_EXT :: GLenum
+gl_COLOR_ATTACHMENT5_EXT = 0x8CE5
+
+gl_COLOR_ATTACHMENT5_NV :: GLenum
+gl_COLOR_ATTACHMENT5_NV = 0x8CE5
+
+gl_COLOR_ATTACHMENT6 :: GLenum
+gl_COLOR_ATTACHMENT6 = 0x8CE6
+
+gl_COLOR_ATTACHMENT6_EXT :: GLenum
+gl_COLOR_ATTACHMENT6_EXT = 0x8CE6
+
+gl_COLOR_ATTACHMENT6_NV :: GLenum
+gl_COLOR_ATTACHMENT6_NV = 0x8CE6
+
+gl_COLOR_ATTACHMENT7 :: GLenum
+gl_COLOR_ATTACHMENT7 = 0x8CE7
+
+gl_COLOR_ATTACHMENT7_EXT :: GLenum
+gl_COLOR_ATTACHMENT7_EXT = 0x8CE7
+
+gl_COLOR_ATTACHMENT7_NV :: GLenum
+gl_COLOR_ATTACHMENT7_NV = 0x8CE7
+
+gl_COLOR_ATTACHMENT8 :: GLenum
+gl_COLOR_ATTACHMENT8 = 0x8CE8
+
+gl_COLOR_ATTACHMENT8_EXT :: GLenum
+gl_COLOR_ATTACHMENT8_EXT = 0x8CE8
+
+gl_COLOR_ATTACHMENT8_NV :: GLenum
+gl_COLOR_ATTACHMENT8_NV = 0x8CE8
+
+gl_COLOR_ATTACHMENT9 :: GLenum
+gl_COLOR_ATTACHMENT9 = 0x8CE9
+
+gl_COLOR_ATTACHMENT9_EXT :: GLenum
+gl_COLOR_ATTACHMENT9_EXT = 0x8CE9
+
+gl_COLOR_ATTACHMENT9_NV :: GLenum
+gl_COLOR_ATTACHMENT9_NV = 0x8CE9
+
+gl_COLOR_ATTACHMENT_EXT :: GLenum
+gl_COLOR_ATTACHMENT_EXT = 0x90F0
+
+gl_COLOR_BUFFER_BIT :: GLbitfield
+gl_COLOR_BUFFER_BIT = 0x00004000
+
+gl_COLOR_BUFFER_BIT0_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT0_QCOM = 0x00000001
+
+gl_COLOR_BUFFER_BIT1_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT1_QCOM = 0x00000002
+
+gl_COLOR_BUFFER_BIT2_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT2_QCOM = 0x00000004
+
+gl_COLOR_BUFFER_BIT3_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT3_QCOM = 0x00000008
+
+gl_COLOR_BUFFER_BIT4_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT4_QCOM = 0x00000010
+
+gl_COLOR_BUFFER_BIT5_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT5_QCOM = 0x00000020
+
+gl_COLOR_BUFFER_BIT6_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT6_QCOM = 0x00000040
+
+gl_COLOR_BUFFER_BIT7_QCOM :: GLbitfield
+gl_COLOR_BUFFER_BIT7_QCOM = 0x00000080
+
+gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATI :: GLenum
+gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835
+
+gl_COLOR_CLEAR_VALUE :: GLenum
+gl_COLOR_CLEAR_VALUE = 0x0C22
+
+gl_COLOR_COMPONENTS :: GLenum
+gl_COLOR_COMPONENTS = 0x8283
+
+gl_COLOR_ENCODING :: GLenum
+gl_COLOR_ENCODING = 0x8296
+
+gl_COLOR_EXT :: GLenum
+gl_COLOR_EXT = 0x1800
+
+gl_COLOR_FLOAT_APPLE :: GLenum
+gl_COLOR_FLOAT_APPLE = 0x8A0F
+
+gl_COLOR_INDEX :: GLenum
+gl_COLOR_INDEX = 0x1900
+
+gl_COLOR_INDEX12_EXT :: GLenum
+gl_COLOR_INDEX12_EXT = 0x80E6
+
+gl_COLOR_INDEX16_EXT :: GLenum
+gl_COLOR_INDEX16_EXT = 0x80E7
+
+gl_COLOR_INDEX1_EXT :: GLenum
+gl_COLOR_INDEX1_EXT = 0x80E2
+
+gl_COLOR_INDEX2_EXT :: GLenum
+gl_COLOR_INDEX2_EXT = 0x80E3
+
+gl_COLOR_INDEX4_EXT :: GLenum
+gl_COLOR_INDEX4_EXT = 0x80E4
+
+gl_COLOR_INDEX8_EXT :: GLenum
+gl_COLOR_INDEX8_EXT = 0x80E5
+
+gl_COLOR_INDEXES :: GLenum
+gl_COLOR_INDEXES = 0x1603
+
+gl_COLOR_LOGIC_OP :: GLenum
+gl_COLOR_LOGIC_OP = 0x0BF2
+
+gl_COLOR_MATERIAL :: GLenum
+gl_COLOR_MATERIAL = 0x0B57
+
+gl_COLOR_MATERIAL_FACE :: GLenum
+gl_COLOR_MATERIAL_FACE = 0x0B55
+
+gl_COLOR_MATERIAL_PARAMETER :: GLenum
+gl_COLOR_MATERIAL_PARAMETER = 0x0B56
+
+gl_COLOR_MATRIX :: GLenum
+gl_COLOR_MATRIX = 0x80B1
+
+gl_COLOR_MATRIX_SGI :: GLenum
+gl_COLOR_MATRIX_SGI = 0x80B1
+
+gl_COLOR_MATRIX_STACK_DEPTH :: GLenum
+gl_COLOR_MATRIX_STACK_DEPTH = 0x80B2
+
+gl_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
+gl_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2
+
+gl_COLOR_RENDERABLE :: GLenum
+gl_COLOR_RENDERABLE = 0x8286
+
+gl_COLOR_SAMPLES_NV :: GLenum
+gl_COLOR_SAMPLES_NV = 0x8E20
+
+gl_COLOR_SUM :: GLenum
+gl_COLOR_SUM = 0x8458
+
+gl_COLOR_SUM_ARB :: GLenum
+gl_COLOR_SUM_ARB = 0x8458
+
+gl_COLOR_SUM_CLAMP_NV :: GLenum
+gl_COLOR_SUM_CLAMP_NV = 0x854F
+
+gl_COLOR_SUM_EXT :: GLenum
+gl_COLOR_SUM_EXT = 0x8458
+
+gl_COLOR_TABLE :: GLenum
+gl_COLOR_TABLE = 0x80D0
+
+gl_COLOR_TABLE_ALPHA_SIZE :: GLenum
+gl_COLOR_TABLE_ALPHA_SIZE = 0x80DD
+
+gl_COLOR_TABLE_ALPHA_SIZE_SGI :: GLenum
+gl_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD
+
+gl_COLOR_TABLE_BIAS :: GLenum
+gl_COLOR_TABLE_BIAS = 0x80D7
+
+gl_COLOR_TABLE_BIAS_SGI :: GLenum
+gl_COLOR_TABLE_BIAS_SGI = 0x80D7
+
+gl_COLOR_TABLE_BLUE_SIZE :: GLenum
+gl_COLOR_TABLE_BLUE_SIZE = 0x80DC
+
+gl_COLOR_TABLE_BLUE_SIZE_SGI :: GLenum
+gl_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC
+
+gl_COLOR_TABLE_FORMAT :: GLenum
+gl_COLOR_TABLE_FORMAT = 0x80D8
+
+gl_COLOR_TABLE_FORMAT_SGI :: GLenum
+gl_COLOR_TABLE_FORMAT_SGI = 0x80D8
+
+gl_COLOR_TABLE_GREEN_SIZE :: GLenum
+gl_COLOR_TABLE_GREEN_SIZE = 0x80DB
+
+gl_COLOR_TABLE_GREEN_SIZE_SGI :: GLenum
+gl_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB
+
+gl_COLOR_TABLE_INTENSITY_SIZE :: GLenum
+gl_COLOR_TABLE_INTENSITY_SIZE = 0x80DF
+
+gl_COLOR_TABLE_INTENSITY_SIZE_SGI :: GLenum
+gl_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF
+
+gl_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
+gl_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE
+
+gl_COLOR_TABLE_LUMINANCE_SIZE_SGI :: GLenum
+gl_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE
+
+gl_COLOR_TABLE_RED_SIZE :: GLenum
+gl_COLOR_TABLE_RED_SIZE = 0x80DA
+
+gl_COLOR_TABLE_RED_SIZE_SGI :: GLenum
+gl_COLOR_TABLE_RED_SIZE_SGI = 0x80DA
+
+gl_COLOR_TABLE_SCALE :: GLenum
+gl_COLOR_TABLE_SCALE = 0x80D6
+
+gl_COLOR_TABLE_SCALE_SGI :: GLenum
+gl_COLOR_TABLE_SCALE_SGI = 0x80D6
+
+gl_COLOR_TABLE_SGI :: GLenum
+gl_COLOR_TABLE_SGI = 0x80D0
+
+gl_COLOR_TABLE_WIDTH :: GLenum
+gl_COLOR_TABLE_WIDTH = 0x80D9
+
+gl_COLOR_TABLE_WIDTH_SGI :: GLenum
+gl_COLOR_TABLE_WIDTH_SGI = 0x80D9
+
+gl_COLOR_WRITEMASK :: GLenum
+gl_COLOR_WRITEMASK = 0x0C23
+
+gl_COMBINE :: GLenum
+gl_COMBINE = 0x8570
+
+gl_COMBINE4_NV :: GLenum
+gl_COMBINE4_NV = 0x8503
+
+gl_COMBINER0_NV :: GLenum
+gl_COMBINER0_NV = 0x8550
+
+gl_COMBINER1_NV :: GLenum
+gl_COMBINER1_NV = 0x8551
+
+gl_COMBINER2_NV :: GLenum
+gl_COMBINER2_NV = 0x8552
+
+gl_COMBINER3_NV :: GLenum
+gl_COMBINER3_NV = 0x8553
+
+gl_COMBINER4_NV :: GLenum
+gl_COMBINER4_NV = 0x8554
+
+gl_COMBINER5_NV :: GLenum
+gl_COMBINER5_NV = 0x8555
+
+gl_COMBINER6_NV :: GLenum
+gl_COMBINER6_NV = 0x8556
+
+gl_COMBINER7_NV :: GLenum
+gl_COMBINER7_NV = 0x8557
+
+gl_COMBINER_AB_DOT_PRODUCT_NV :: GLenum
+gl_COMBINER_AB_DOT_PRODUCT_NV = 0x8545
+
+gl_COMBINER_AB_OUTPUT_NV :: GLenum
+gl_COMBINER_AB_OUTPUT_NV = 0x854A
+
+gl_COMBINER_BIAS_NV :: GLenum
+gl_COMBINER_BIAS_NV = 0x8549
+
+gl_COMBINER_CD_DOT_PRODUCT_NV :: GLenum
+gl_COMBINER_CD_DOT_PRODUCT_NV = 0x8546
+
+gl_COMBINER_CD_OUTPUT_NV :: GLenum
+gl_COMBINER_CD_OUTPUT_NV = 0x854B
+
+gl_COMBINER_COMPONENT_USAGE_NV :: GLenum
+gl_COMBINER_COMPONENT_USAGE_NV = 0x8544
+
+gl_COMBINER_INPUT_NV :: GLenum
+gl_COMBINER_INPUT_NV = 0x8542
+
+gl_COMBINER_MAPPING_NV :: GLenum
+gl_COMBINER_MAPPING_NV = 0x8543
+
+gl_COMBINER_MUX_SUM_NV :: GLenum
+gl_COMBINER_MUX_SUM_NV = 0x8547
+
+gl_COMBINER_SCALE_NV :: GLenum
+gl_COMBINER_SCALE_NV = 0x8548
+
+gl_COMBINER_SUM_OUTPUT_NV :: GLenum
+gl_COMBINER_SUM_OUTPUT_NV = 0x854C
+
+gl_COMBINE_ALPHA :: GLenum
+gl_COMBINE_ALPHA = 0x8572
+
+gl_COMBINE_ALPHA_ARB :: GLenum
+gl_COMBINE_ALPHA_ARB = 0x8572
+
+gl_COMBINE_ALPHA_EXT :: GLenum
+gl_COMBINE_ALPHA_EXT = 0x8572
+
+gl_COMBINE_ARB :: GLenum
+gl_COMBINE_ARB = 0x8570
+
+gl_COMBINE_EXT :: GLenum
+gl_COMBINE_EXT = 0x8570
+
+gl_COMBINE_RGB :: GLenum
+gl_COMBINE_RGB = 0x8571
+
+gl_COMBINE_RGB_ARB :: GLenum
+gl_COMBINE_RGB_ARB = 0x8571
+
+gl_COMBINE_RGB_EXT :: GLenum
+gl_COMBINE_RGB_EXT = 0x8571
+
+gl_COMMAND_BARRIER_BIT :: GLbitfield
+gl_COMMAND_BARRIER_BIT = 0x00000040
+
+gl_COMMAND_BARRIER_BIT_EXT :: GLbitfield
+gl_COMMAND_BARRIER_BIT_EXT = 0x00000040
+
+gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXT :: GLenum
+gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E
+
+gl_COMPARE_REF_TO_TEXTURE :: GLenum
+gl_COMPARE_REF_TO_TEXTURE = 0x884E
+
+gl_COMPARE_REF_TO_TEXTURE_EXT :: GLenum
+gl_COMPARE_REF_TO_TEXTURE_EXT = 0x884E
+
+gl_COMPARE_R_TO_TEXTURE :: GLenum
+gl_COMPARE_R_TO_TEXTURE = 0x884E
+
+gl_COMPARE_R_TO_TEXTURE_ARB :: GLenum
+gl_COMPARE_R_TO_TEXTURE_ARB = 0x884E
+
+gl_COMPATIBLE_SUBROUTINES :: GLenum
+gl_COMPATIBLE_SUBROUTINES = 0x8E4B
+
+gl_COMPILE :: GLenum
+gl_COMPILE = 0x1300
+
+gl_COMPILE_AND_EXECUTE :: GLenum
+gl_COMPILE_AND_EXECUTE = 0x1301
+
+gl_COMPILE_STATUS :: GLenum
+gl_COMPILE_STATUS = 0x8B81
+
+gl_COMPRESSED_ALPHA :: GLenum
+gl_COMPRESSED_ALPHA = 0x84E9
+
+gl_COMPRESSED_ALPHA_ARB :: GLenum
+gl_COMPRESSED_ALPHA_ARB = 0x84E9
+
+gl_COMPRESSED_INTENSITY :: GLenum
+gl_COMPRESSED_INTENSITY = 0x84EC
+
+gl_COMPRESSED_INTENSITY_ARB :: GLenum
+gl_COMPRESSED_INTENSITY_ARB = 0x84EC
+
+gl_COMPRESSED_LUMINANCE :: GLenum
+gl_COMPRESSED_LUMINANCE = 0x84EA
+
+gl_COMPRESSED_LUMINANCE_ALPHA :: GLenum
+gl_COMPRESSED_LUMINANCE_ALPHA = 0x84EB
+
+gl_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI :: GLenum
+gl_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = 0x8837
+
+gl_COMPRESSED_LUMINANCE_ALPHA_ARB :: GLenum
+gl_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB
+
+gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
+gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72
+
+gl_COMPRESSED_LUMINANCE_ARB :: GLenum
+gl_COMPRESSED_LUMINANCE_ARB = 0x84EA
+
+gl_COMPRESSED_LUMINANCE_LATC1_EXT :: GLenum
+gl_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70
+
+gl_COMPRESSED_R11_EAC :: GLenum
+gl_COMPRESSED_R11_EAC = 0x9270
+
+gl_COMPRESSED_R11_EAC_OES :: GLenum
+gl_COMPRESSED_R11_EAC_OES = 0x9270
+
+gl_COMPRESSED_RED :: GLenum
+gl_COMPRESSED_RED = 0x8225
+
+gl_COMPRESSED_RED_GREEN_RGTC2_EXT :: GLenum
+gl_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD
+
+gl_COMPRESSED_RED_RGTC1 :: GLenum
+gl_COMPRESSED_RED_RGTC1 = 0x8DBB
+
+gl_COMPRESSED_RED_RGTC1_EXT :: GLenum
+gl_COMPRESSED_RED_RGTC1_EXT = 0x8DBB
+
+gl_COMPRESSED_RG :: GLenum
+gl_COMPRESSED_RG = 0x8226
+
+gl_COMPRESSED_RG11_EAC :: GLenum
+gl_COMPRESSED_RG11_EAC = 0x9272
+
+gl_COMPRESSED_RG11_EAC_OES :: GLenum
+gl_COMPRESSED_RG11_EAC_OES = 0x9272
+
+gl_COMPRESSED_RGB :: GLenum
+gl_COMPRESSED_RGB = 0x84ED
+
+gl_COMPRESSED_RGB8_ETC2 :: GLenum
+gl_COMPRESSED_RGB8_ETC2 = 0x9274
+
+gl_COMPRESSED_RGB8_ETC2_OES :: GLenum
+gl_COMPRESSED_RGB8_ETC2_OES = 0x9274
+
+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276
+
+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
+gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9276
+
+gl_COMPRESSED_RGBA :: GLenum
+gl_COMPRESSED_RGBA = 0x84EE
+
+gl_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
+gl_COMPRESSED_RGBA8_ETC2_EAC = 0x9278
+
+gl_COMPRESSED_RGBA8_ETC2_EAC_OES :: GLenum
+gl_COMPRESSED_RGBA8_ETC2_EAC_OES = 0x9278
+
+gl_COMPRESSED_RGBA_ARB :: GLenum
+gl_COMPRESSED_RGBA_ARB = 0x84EE
+
+gl_COMPRESSED_RGBA_ASTC_10x10_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB
+
+gl_COMPRESSED_RGBA_ASTC_10x5_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8
+
+gl_COMPRESSED_RGBA_ASTC_10x6_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9
+
+gl_COMPRESSED_RGBA_ASTC_10x8_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA
+
+gl_COMPRESSED_RGBA_ASTC_12x10_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC
+
+gl_COMPRESSED_RGBA_ASTC_12x12_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD
+
+gl_COMPRESSED_RGBA_ASTC_3x3x3_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_3x3x3_OES = 0x93C0
+
+gl_COMPRESSED_RGBA_ASTC_4x3x3_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_4x3x3_OES = 0x93C1
+
+gl_COMPRESSED_RGBA_ASTC_4x4_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0
+
+gl_COMPRESSED_RGBA_ASTC_4x4x3_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_4x4x3_OES = 0x93C2
+
+gl_COMPRESSED_RGBA_ASTC_4x4x4_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_4x4x4_OES = 0x93C3
+
+gl_COMPRESSED_RGBA_ASTC_5x4_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1
+
+gl_COMPRESSED_RGBA_ASTC_5x4x4_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_5x4x4_OES = 0x93C4
+
+gl_COMPRESSED_RGBA_ASTC_5x5_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2
+
+gl_COMPRESSED_RGBA_ASTC_5x5x4_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_5x5x4_OES = 0x93C5
+
+gl_COMPRESSED_RGBA_ASTC_5x5x5_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_5x5x5_OES = 0x93C6
+
+gl_COMPRESSED_RGBA_ASTC_6x5_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3
+
+gl_COMPRESSED_RGBA_ASTC_6x5x5_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_6x5x5_OES = 0x93C7
+
+gl_COMPRESSED_RGBA_ASTC_6x6_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4
+
+gl_COMPRESSED_RGBA_ASTC_6x6x5_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_6x6x5_OES = 0x93C8
+
+gl_COMPRESSED_RGBA_ASTC_6x6x6_OES :: GLenum
+gl_COMPRESSED_RGBA_ASTC_6x6x6_OES = 0x93C9
+
+gl_COMPRESSED_RGBA_ASTC_8x5_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5
+
+gl_COMPRESSED_RGBA_ASTC_8x6_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6
+
+gl_COMPRESSED_RGBA_ASTC_8x8_KHR :: GLenum
+gl_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7
+
+gl_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
+gl_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C
+
+gl_COMPRESSED_RGBA_BPTC_UNORM_ARB :: GLenum
+gl_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C
+
+gl_COMPRESSED_RGBA_FXT1_3DFX :: GLenum
+gl_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1
+
+gl_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG :: GLenum
+gl_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03
+
+gl_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG :: GLenum
+gl_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 0x9137
+
+gl_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG :: GLenum
+gl_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02
+
+gl_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG :: GLenum
+gl_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 0x9138
+
+gl_COMPRESSED_RGBA_S3TC_DXT1_EXT :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1
+
+gl_COMPRESSED_RGBA_S3TC_DXT3_ANGLE :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = 0x83F2
+
+gl_COMPRESSED_RGBA_S3TC_DXT3_EXT :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2
+
+gl_COMPRESSED_RGBA_S3TC_DXT5_ANGLE :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = 0x83F3
+
+gl_COMPRESSED_RGBA_S3TC_DXT5_EXT :: GLenum
+gl_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3
+
+gl_COMPRESSED_RGB_ARB :: GLenum
+gl_COMPRESSED_RGB_ARB = 0x84ED
+
+gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
+gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E
+
+gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB :: GLenum
+gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E
+
+gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
+gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F
+
+gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB :: GLenum
+gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F
+
+gl_COMPRESSED_RGB_FXT1_3DFX :: GLenum
+gl_COMPRESSED_RGB_FXT1_3DFX = 0x86B0
+
+gl_COMPRESSED_RGB_PVRTC_2BPPV1_IMG :: GLenum
+gl_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01
+
+gl_COMPRESSED_RGB_PVRTC_4BPPV1_IMG :: GLenum
+gl_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00
+
+gl_COMPRESSED_RGB_S3TC_DXT1_EXT :: GLenum
+gl_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0
+
+gl_COMPRESSED_RG_RGTC2 :: GLenum
+gl_COMPRESSED_RG_RGTC2 = 0x8DBD
+
+gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
+gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73
+
+gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT :: GLenum
+gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71
+
+gl_COMPRESSED_SIGNED_R11_EAC :: GLenum
+gl_COMPRESSED_SIGNED_R11_EAC = 0x9271
+
+gl_COMPRESSED_SIGNED_R11_EAC_OES :: GLenum
+gl_COMPRESSED_SIGNED_R11_EAC_OES = 0x9271
+
+gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT :: GLenum
+gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE
+
+gl_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
+gl_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC
+
+gl_COMPRESSED_SIGNED_RED_RGTC1_EXT :: GLenum
+gl_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC
+
+gl_COMPRESSED_SIGNED_RG11_EAC :: GLenum
+gl_COMPRESSED_SIGNED_RG11_EAC = 0x9273
+
+gl_COMPRESSED_SIGNED_RG11_EAC_OES :: GLenum
+gl_COMPRESSED_SIGNED_RG11_EAC_OES = 0x9273
+
+gl_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
+gl_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE
+
+gl_COMPRESSED_SLUMINANCE :: GLenum
+gl_COMPRESSED_SLUMINANCE = 0x8C4A
+
+gl_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
+gl_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B
+
+gl_COMPRESSED_SLUMINANCE_ALPHA_EXT :: GLenum
+gl_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B
+
+gl_COMPRESSED_SLUMINANCE_EXT :: GLenum
+gl_COMPRESSED_SLUMINANCE_EXT = 0x8C4A
+
+gl_COMPRESSED_SRGB :: GLenum
+gl_COMPRESSED_SRGB = 0x8C48
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = 0x93E0
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = 0x93E1
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = 0x93E2
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = 0x93E3
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = 0x93E4
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = 0x93E5
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = 0x93E6
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = 0x93E7
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = 0x93E8
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = 0x93E9
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6
+
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7
+
+gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279
+
+gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES :: GLenum
+gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES = 0x9279
+
+gl_COMPRESSED_SRGB8_ETC2 :: GLenum
+gl_COMPRESSED_SRGB8_ETC2 = 0x9275
+
+gl_COMPRESSED_SRGB8_ETC2_OES :: GLenum
+gl_COMPRESSED_SRGB8_ETC2_OES = 0x9275
+
+gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
+gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277
+
+gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
+gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9277
+
+gl_COMPRESSED_SRGB_ALPHA :: GLenum
+gl_COMPRESSED_SRGB_ALPHA = 0x8C49
+
+gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D
+
+gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D
+
+gl_COMPRESSED_SRGB_ALPHA_EXT :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49
+
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 0x8A56
+
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = 0x93F0
+
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = 0x8A57
+
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = 0x93F1
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = 0x8C4D
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = 0x8C4E
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F
+
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV :: GLenum
+gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = 0x8C4F
+
+gl_COMPRESSED_SRGB_EXT :: GLenum
+gl_COMPRESSED_SRGB_EXT = 0x8C48
+
+gl_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT :: GLenum
+gl_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = 0x8A54
+
+gl_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT :: GLenum
+gl_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = 0x8A55
+
+gl_COMPRESSED_SRGB_S3TC_DXT1_EXT :: GLenum
+gl_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C
+
+gl_COMPRESSED_SRGB_S3TC_DXT1_NV :: GLenum
+gl_COMPRESSED_SRGB_S3TC_DXT1_NV = 0x8C4C
+
+gl_COMPRESSED_TEXTURE_FORMATS :: GLenum
+gl_COMPRESSED_TEXTURE_FORMATS = 0x86A3
+
+gl_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
+gl_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3
+
+gl_COMPUTE_PROGRAM_NV :: GLenum
+gl_COMPUTE_PROGRAM_NV = 0x90FB
+
+gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
+gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC
+
+gl_COMPUTE_SHADER :: GLenum
+gl_COMPUTE_SHADER = 0x91B9
+
+gl_COMPUTE_SHADER_BIT :: GLbitfield
+gl_COMPUTE_SHADER_BIT = 0x00000020
+
+gl_COMPUTE_SHADER_INVOCATIONS_ARB :: GLenum
+gl_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5
+
+gl_COMPUTE_SUBROUTINE :: GLenum
+gl_COMPUTE_SUBROUTINE = 0x92ED
+
+gl_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
+gl_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3
+
+gl_COMPUTE_TEXTURE :: GLenum
+gl_COMPUTE_TEXTURE = 0x82A0
+
+gl_COMPUTE_WORK_GROUP_SIZE :: GLenum
+gl_COMPUTE_WORK_GROUP_SIZE = 0x8267
+
+gl_COMP_BIT_ATI :: GLbitfield
+gl_COMP_BIT_ATI = 0x00000002
+
+gl_CONDITION_SATISFIED :: GLenum
+gl_CONDITION_SATISFIED = 0x911C
+
+gl_CONDITION_SATISFIED_APPLE :: GLenum
+gl_CONDITION_SATISFIED_APPLE = 0x911C
+
+gl_CONFORMANT_NV :: GLenum
+gl_CONFORMANT_NV = 0x9374
+
+gl_CONIC_CURVE_TO_NV :: GLubyte
+gl_CONIC_CURVE_TO_NV = 0x1A
+
+gl_CONJOINT_NV :: GLenum
+gl_CONJOINT_NV = 0x9284
+
+gl_CONSERVATIVE_RASTERIZATION_NV :: GLenum
+gl_CONSERVATIVE_RASTERIZATION_NV = 0x9346
+
+gl_CONSERVE_MEMORY_HINT_PGI :: GLenum
+gl_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD
+
+gl_CONSTANT :: GLenum
+gl_CONSTANT = 0x8576
+
+gl_CONSTANT_ALPHA :: GLenum
+gl_CONSTANT_ALPHA = 0x8003
+
+gl_CONSTANT_ALPHA_EXT :: GLenum
+gl_CONSTANT_ALPHA_EXT = 0x8003
+
+gl_CONSTANT_ARB :: GLenum
+gl_CONSTANT_ARB = 0x8576
+
+gl_CONSTANT_ATTENUATION :: GLenum
+gl_CONSTANT_ATTENUATION = 0x1207
+
+gl_CONSTANT_BORDER :: GLenum
+gl_CONSTANT_BORDER = 0x8151
+
+gl_CONSTANT_BORDER_HP :: GLenum
+gl_CONSTANT_BORDER_HP = 0x8151
+
+gl_CONSTANT_COLOR :: GLenum
+gl_CONSTANT_COLOR = 0x8001
+
+gl_CONSTANT_COLOR0_NV :: GLenum
+gl_CONSTANT_COLOR0_NV = 0x852A
+
+gl_CONSTANT_COLOR1_NV :: GLenum
+gl_CONSTANT_COLOR1_NV = 0x852B
+
+gl_CONSTANT_COLOR_EXT :: GLenum
+gl_CONSTANT_COLOR_EXT = 0x8001
+
+gl_CONSTANT_EXT :: GLenum
+gl_CONSTANT_EXT = 0x8576
+
+gl_CONSTANT_NV :: GLenum
+gl_CONSTANT_NV = 0x8576
+
+gl_CONST_EYE_NV :: GLenum
+gl_CONST_EYE_NV = 0x86E5
+
+gl_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
+gl_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002
+
+gl_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
+gl_CONTEXT_CORE_PROFILE_BIT = 0x00000001
+
+gl_CONTEXT_FLAGS :: GLenum
+gl_CONTEXT_FLAGS = 0x821E
+
+gl_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
+gl_CONTEXT_FLAG_DEBUG_BIT = 0x00000002
+
+gl_CONTEXT_FLAG_DEBUG_BIT_KHR :: GLbitfield
+gl_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002
+
+gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
+gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001
+
+gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLbitfield
+gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004
+
+gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB :: GLbitfield
+gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004
+
+gl_CONTEXT_LOST :: GLenum
+gl_CONTEXT_LOST = 0x0507
+
+gl_CONTEXT_LOST_KHR :: GLenum
+gl_CONTEXT_LOST_KHR = 0x0507
+
+gl_CONTEXT_LOST_WEBGL :: GLenum
+gl_CONTEXT_LOST_WEBGL = 0x9242
+
+gl_CONTEXT_PROFILE_MASK :: GLenum
+gl_CONTEXT_PROFILE_MASK = 0x9126
+
+gl_CONTEXT_RELEASE_BEHAVIOR :: GLenum
+gl_CONTEXT_RELEASE_BEHAVIOR = 0x82FB
+
+gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
+gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC
+
+gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR :: GLenum
+gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = 0x82FC
+
+gl_CONTEXT_RELEASE_BEHAVIOR_KHR :: GLenum
+gl_CONTEXT_RELEASE_BEHAVIOR_KHR = 0x82FB
+
+gl_CONTEXT_ROBUST_ACCESS :: GLenum
+gl_CONTEXT_ROBUST_ACCESS = 0x90F3
+
+gl_CONTEXT_ROBUST_ACCESS_EXT :: GLenum
+gl_CONTEXT_ROBUST_ACCESS_EXT = 0x90F3
+
+gl_CONTEXT_ROBUST_ACCESS_KHR :: GLenum
+gl_CONTEXT_ROBUST_ACCESS_KHR = 0x90F3
+
+gl_CONTINUOUS_AMD :: GLenum
+gl_CONTINUOUS_AMD = 0x9007
+
+gl_CONTRAST_NV :: GLenum
+gl_CONTRAST_NV = 0x92A1
+
+gl_CONVEX_HULL_NV :: GLenum
+gl_CONVEX_HULL_NV = 0x908B
+
+gl_CONVOLUTION_1D :: GLenum
+gl_CONVOLUTION_1D = 0x8010
+
+gl_CONVOLUTION_1D_EXT :: GLenum
+gl_CONVOLUTION_1D_EXT = 0x8010
+
+gl_CONVOLUTION_2D :: GLenum
+gl_CONVOLUTION_2D = 0x8011
+
+gl_CONVOLUTION_2D_EXT :: GLenum
+gl_CONVOLUTION_2D_EXT = 0x8011
+
+gl_CONVOLUTION_BORDER_COLOR :: GLenum
+gl_CONVOLUTION_BORDER_COLOR = 0x8154
+
+gl_CONVOLUTION_BORDER_COLOR_HP :: GLenum
+gl_CONVOLUTION_BORDER_COLOR_HP = 0x8154
+
+gl_CONVOLUTION_BORDER_MODE :: GLenum
+gl_CONVOLUTION_BORDER_MODE = 0x8013
+
+gl_CONVOLUTION_BORDER_MODE_EXT :: GLenum
+gl_CONVOLUTION_BORDER_MODE_EXT = 0x8013
+
+gl_CONVOLUTION_FILTER_BIAS :: GLenum
+gl_CONVOLUTION_FILTER_BIAS = 0x8015
+
+gl_CONVOLUTION_FILTER_BIAS_EXT :: GLenum
+gl_CONVOLUTION_FILTER_BIAS_EXT = 0x8015
+
+gl_CONVOLUTION_FILTER_SCALE :: GLenum
+gl_CONVOLUTION_FILTER_SCALE = 0x8014
+
+gl_CONVOLUTION_FILTER_SCALE_EXT :: GLenum
+gl_CONVOLUTION_FILTER_SCALE_EXT = 0x8014
+
+gl_CONVOLUTION_FORMAT :: GLenum
+gl_CONVOLUTION_FORMAT = 0x8017
+
+gl_CONVOLUTION_FORMAT_EXT :: GLenum
+gl_CONVOLUTION_FORMAT_EXT = 0x8017
+
+gl_CONVOLUTION_HEIGHT :: GLenum
+gl_CONVOLUTION_HEIGHT = 0x8019
+
+gl_CONVOLUTION_HEIGHT_EXT :: GLenum
+gl_CONVOLUTION_HEIGHT_EXT = 0x8019
+
+gl_CONVOLUTION_HINT_SGIX :: GLenum
+gl_CONVOLUTION_HINT_SGIX = 0x8316
+
+gl_CONVOLUTION_WIDTH :: GLenum
+gl_CONVOLUTION_WIDTH = 0x8018
+
+gl_CONVOLUTION_WIDTH_EXT :: GLenum
+gl_CONVOLUTION_WIDTH_EXT = 0x8018
+
+gl_CON_0_ATI :: GLenum
+gl_CON_0_ATI = 0x8941
+
+gl_CON_10_ATI :: GLenum
+gl_CON_10_ATI = 0x894B
+
+gl_CON_11_ATI :: GLenum
+gl_CON_11_ATI = 0x894C
+
+gl_CON_12_ATI :: GLenum
+gl_CON_12_ATI = 0x894D
+
+gl_CON_13_ATI :: GLenum
+gl_CON_13_ATI = 0x894E
+
+gl_CON_14_ATI :: GLenum
+gl_CON_14_ATI = 0x894F
+
+gl_CON_15_ATI :: GLenum
+gl_CON_15_ATI = 0x8950
+
+gl_CON_16_ATI :: GLenum
+gl_CON_16_ATI = 0x8951
+
+gl_CON_17_ATI :: GLenum
+gl_CON_17_ATI = 0x8952
+
+gl_CON_18_ATI :: GLenum
+gl_CON_18_ATI = 0x8953
+
+gl_CON_19_ATI :: GLenum
+gl_CON_19_ATI = 0x8954
+
+gl_CON_1_ATI :: GLenum
+gl_CON_1_ATI = 0x8942
+
+gl_CON_20_ATI :: GLenum
+gl_CON_20_ATI = 0x8955
+
+gl_CON_21_ATI :: GLenum
+gl_CON_21_ATI = 0x8956
+
+gl_CON_22_ATI :: GLenum
+gl_CON_22_ATI = 0x8957
+
+gl_CON_23_ATI :: GLenum
+gl_CON_23_ATI = 0x8958
+
+gl_CON_24_ATI :: GLenum
+gl_CON_24_ATI = 0x8959
+
+gl_CON_25_ATI :: GLenum
+gl_CON_25_ATI = 0x895A
+
+gl_CON_26_ATI :: GLenum
+gl_CON_26_ATI = 0x895B
+
+gl_CON_27_ATI :: GLenum
+gl_CON_27_ATI = 0x895C
+
+gl_CON_28_ATI :: GLenum
+gl_CON_28_ATI = 0x895D
+
+gl_CON_29_ATI :: GLenum
+gl_CON_29_ATI = 0x895E
+
+gl_CON_2_ATI :: GLenum
+gl_CON_2_ATI = 0x8943
+
+gl_CON_30_ATI :: GLenum
+gl_CON_30_ATI = 0x895F
+
+gl_CON_31_ATI :: GLenum
+gl_CON_31_ATI = 0x8960
+
+gl_CON_3_ATI :: GLenum
+gl_CON_3_ATI = 0x8944
+
+gl_CON_4_ATI :: GLenum
+gl_CON_4_ATI = 0x8945
+
+gl_CON_5_ATI :: GLenum
+gl_CON_5_ATI = 0x8946
+
+gl_CON_6_ATI :: GLenum
+gl_CON_6_ATI = 0x8947
+
+gl_CON_7_ATI :: GLenum
+gl_CON_7_ATI = 0x8948
+
+gl_CON_8_ATI :: GLenum
+gl_CON_8_ATI = 0x8949
+
+gl_CON_9_ATI :: GLenum
+gl_CON_9_ATI = 0x894A
+
+gl_COORD_REPLACE :: GLenum
+gl_COORD_REPLACE = 0x8862
+
+gl_COORD_REPLACE_ARB :: GLenum
+gl_COORD_REPLACE_ARB = 0x8862
+
+gl_COORD_REPLACE_NV :: GLenum
+gl_COORD_REPLACE_NV = 0x8862
+
+gl_COORD_REPLACE_OES :: GLenum
+gl_COORD_REPLACE_OES = 0x8862
+
+gl_COPY :: GLenum
+gl_COPY = 0x1503
+
+gl_COPY_INVERTED :: GLenum
+gl_COPY_INVERTED = 0x150C
+
+gl_COPY_PIXEL_TOKEN :: GLenum
+gl_COPY_PIXEL_TOKEN = 0x0706
+
+gl_COPY_READ_BUFFER :: GLenum
+gl_COPY_READ_BUFFER = 0x8F36
+
+gl_COPY_READ_BUFFER_BINDING :: GLenum
+gl_COPY_READ_BUFFER_BINDING = 0x8F36
+
+gl_COPY_READ_BUFFER_NV :: GLenum
+gl_COPY_READ_BUFFER_NV = 0x8F36
+
+gl_COPY_WRITE_BUFFER :: GLenum
+gl_COPY_WRITE_BUFFER = 0x8F37
+
+gl_COPY_WRITE_BUFFER_BINDING :: GLenum
+gl_COPY_WRITE_BUFFER_BINDING = 0x8F37
+
+gl_COPY_WRITE_BUFFER_NV :: GLenum
+gl_COPY_WRITE_BUFFER_NV = 0x8F37
+
+gl_COUNTER_RANGE_AMD :: GLenum
+gl_COUNTER_RANGE_AMD = 0x8BC1
+
+gl_COUNTER_TYPE_AMD :: GLenum
+gl_COUNTER_TYPE_AMD = 0x8BC0
+
+gl_COUNT_DOWN_NV :: GLenum
+gl_COUNT_DOWN_NV = 0x9089
+
+gl_COUNT_UP_NV :: GLenum
+gl_COUNT_UP_NV = 0x9088
+
+gl_COVERAGE_ALL_FRAGMENTS_NV :: GLenum
+gl_COVERAGE_ALL_FRAGMENTS_NV = 0x8ED5
+
+gl_COVERAGE_ATTACHMENT_NV :: GLenum
+gl_COVERAGE_ATTACHMENT_NV = 0x8ED2
+
+gl_COVERAGE_AUTOMATIC_NV :: GLenum
+gl_COVERAGE_AUTOMATIC_NV = 0x8ED7
+
+gl_COVERAGE_BUFFERS_NV :: GLenum
+gl_COVERAGE_BUFFERS_NV = 0x8ED3
+
+gl_COVERAGE_BUFFER_BIT_NV :: GLbitfield
+gl_COVERAGE_BUFFER_BIT_NV = 0x00008000
+
+gl_COVERAGE_COMPONENT4_NV :: GLenum
+gl_COVERAGE_COMPONENT4_NV = 0x8ED1
+
+gl_COVERAGE_COMPONENT_NV :: GLenum
+gl_COVERAGE_COMPONENT_NV = 0x8ED0
+
+gl_COVERAGE_EDGE_FRAGMENTS_NV :: GLenum
+gl_COVERAGE_EDGE_FRAGMENTS_NV = 0x8ED6
+
+gl_COVERAGE_MODULATION_NV :: GLenum
+gl_COVERAGE_MODULATION_NV = 0x9332
+
+gl_COVERAGE_MODULATION_TABLE_NV :: GLenum
+gl_COVERAGE_MODULATION_TABLE_NV = 0x9331
+
+gl_COVERAGE_MODULATION_TABLE_SIZE_NV :: GLenum
+gl_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333
+
+gl_COVERAGE_SAMPLES_NV :: GLenum
+gl_COVERAGE_SAMPLES_NV = 0x8ED4
+
+gl_CPU_OPTIMIZED_QCOM :: GLenum
+gl_CPU_OPTIMIZED_QCOM = 0x8FB1
+
+gl_CUBIC_CURVE_TO_NV :: GLubyte
+gl_CUBIC_CURVE_TO_NV = 0x0C
+
+gl_CUBIC_EXT :: GLenum
+gl_CUBIC_EXT = 0x8334
+
+gl_CUBIC_HP :: GLenum
+gl_CUBIC_HP = 0x815F
+
+gl_CULL_FACE :: GLenum
+gl_CULL_FACE = 0x0B44
+
+gl_CULL_FACE_MODE :: GLenum
+gl_CULL_FACE_MODE = 0x0B45
+
+gl_CULL_FRAGMENT_NV :: GLenum
+gl_CULL_FRAGMENT_NV = 0x86E7
+
+gl_CULL_MODES_NV :: GLenum
+gl_CULL_MODES_NV = 0x86E0
+
+gl_CULL_VERTEX_EXT :: GLenum
+gl_CULL_VERTEX_EXT = 0x81AA
+
+gl_CULL_VERTEX_EYE_POSITION_EXT :: GLenum
+gl_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB
+
+gl_CULL_VERTEX_IBM :: GLenum
+gl_CULL_VERTEX_IBM = 103050
+
+gl_CULL_VERTEX_OBJECT_POSITION_EXT :: GLenum
+gl_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC
+
+gl_CURRENT_ATTRIB_NV :: GLenum
+gl_CURRENT_ATTRIB_NV = 0x8626
+
+gl_CURRENT_BINORMAL_EXT :: GLenum
+gl_CURRENT_BINORMAL_EXT = 0x843C
+
+gl_CURRENT_BIT :: GLbitfield
+gl_CURRENT_BIT = 0x00000001
+
+gl_CURRENT_COLOR :: GLenum
+gl_CURRENT_COLOR = 0x0B00
+
+gl_CURRENT_FOG_COORD :: GLenum
+gl_CURRENT_FOG_COORD = 0x8453
+
+gl_CURRENT_FOG_COORDINATE :: GLenum
+gl_CURRENT_FOG_COORDINATE = 0x8453
+
+gl_CURRENT_FOG_COORDINATE_EXT :: GLenum
+gl_CURRENT_FOG_COORDINATE_EXT = 0x8453
+
+gl_CURRENT_INDEX :: GLenum
+gl_CURRENT_INDEX = 0x0B01
+
+gl_CURRENT_MATRIX_ARB :: GLenum
+gl_CURRENT_MATRIX_ARB = 0x8641
+
+gl_CURRENT_MATRIX_INDEX_ARB :: GLenum
+gl_CURRENT_MATRIX_INDEX_ARB = 0x8845
+
+gl_CURRENT_MATRIX_NV :: GLenum
+gl_CURRENT_MATRIX_NV = 0x8641
+
+gl_CURRENT_MATRIX_STACK_DEPTH_ARB :: GLenum
+gl_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640
+
+gl_CURRENT_MATRIX_STACK_DEPTH_NV :: GLenum
+gl_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640
+
+gl_CURRENT_NORMAL :: GLenum
+gl_CURRENT_NORMAL = 0x0B02
+
+gl_CURRENT_OCCLUSION_QUERY_ID_NV :: GLenum
+gl_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865
+
+gl_CURRENT_PALETTE_MATRIX_ARB :: GLenum
+gl_CURRENT_PALETTE_MATRIX_ARB = 0x8843
+
+gl_CURRENT_PALETTE_MATRIX_OES :: GLenum
+gl_CURRENT_PALETTE_MATRIX_OES = 0x8843
+
+gl_CURRENT_PROGRAM :: GLenum
+gl_CURRENT_PROGRAM = 0x8B8D
+
+gl_CURRENT_QUERY :: GLenum
+gl_CURRENT_QUERY = 0x8865
+
+gl_CURRENT_QUERY_ARB :: GLenum
+gl_CURRENT_QUERY_ARB = 0x8865
+
+gl_CURRENT_QUERY_EXT :: GLenum
+gl_CURRENT_QUERY_EXT = 0x8865
+
+gl_CURRENT_RASTER_COLOR :: GLenum
+gl_CURRENT_RASTER_COLOR = 0x0B04
+
+gl_CURRENT_RASTER_DISTANCE :: GLenum
+gl_CURRENT_RASTER_DISTANCE = 0x0B09
+
+gl_CURRENT_RASTER_INDEX :: GLenum
+gl_CURRENT_RASTER_INDEX = 0x0B05
+
+gl_CURRENT_RASTER_NORMAL_SGIX :: GLenum
+gl_CURRENT_RASTER_NORMAL_SGIX = 0x8406
+
+gl_CURRENT_RASTER_POSITION :: GLenum
+gl_CURRENT_RASTER_POSITION = 0x0B07
+
+gl_CURRENT_RASTER_POSITION_VALID :: GLenum
+gl_CURRENT_RASTER_POSITION_VALID = 0x0B08
+
+gl_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
+gl_CURRENT_RASTER_SECONDARY_COLOR = 0x845F
+
+gl_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
+gl_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06
+
+gl_CURRENT_SECONDARY_COLOR :: GLenum
+gl_CURRENT_SECONDARY_COLOR = 0x8459
+
+gl_CURRENT_SECONDARY_COLOR_EXT :: GLenum
+gl_CURRENT_SECONDARY_COLOR_EXT = 0x8459
+
+gl_CURRENT_TANGENT_EXT :: GLenum
+gl_CURRENT_TANGENT_EXT = 0x843B
+
+gl_CURRENT_TEXTURE_COORDS :: GLenum
+gl_CURRENT_TEXTURE_COORDS = 0x0B03
+
+gl_CURRENT_TIME_NV :: GLenum
+gl_CURRENT_TIME_NV = 0x8E28
+
+gl_CURRENT_VERTEX_ATTRIB :: GLenum
+gl_CURRENT_VERTEX_ATTRIB = 0x8626
+
+gl_CURRENT_VERTEX_ATTRIB_ARB :: GLenum
+gl_CURRENT_VERTEX_ATTRIB_ARB = 0x8626
+
+gl_CURRENT_VERTEX_EXT :: GLenum
+gl_CURRENT_VERTEX_EXT = 0x87E2
+
+gl_CURRENT_VERTEX_WEIGHT_EXT :: GLenum
+gl_CURRENT_VERTEX_WEIGHT_EXT = 0x850B
+
+gl_CURRENT_WEIGHT_ARB :: GLenum
+gl_CURRENT_WEIGHT_ARB = 0x86A8
+
+gl_CW :: GLenum
+gl_CW = 0x0900
+
+gl_DARKEN_KHR :: GLenum
+gl_DARKEN_KHR = 0x9297
+
+gl_DARKEN_NV :: GLenum
+gl_DARKEN_NV = 0x9297
+
+gl_DATA_BUFFER_AMD :: GLenum
+gl_DATA_BUFFER_AMD = 0x9151
+
+gl_DEBUG_ASSERT_MESA :: GLenum
+gl_DEBUG_ASSERT_MESA = 0x875B
+
+gl_DEBUG_CALLBACK_FUNCTION :: GLenum
+gl_DEBUG_CALLBACK_FUNCTION = 0x8244
+
+gl_DEBUG_CALLBACK_FUNCTION_ARB :: GLenum
+gl_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244
+
+gl_DEBUG_CALLBACK_FUNCTION_KHR :: GLenum
+gl_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244
+
+gl_DEBUG_CALLBACK_USER_PARAM :: GLenum
+gl_DEBUG_CALLBACK_USER_PARAM = 0x8245
+
+gl_DEBUG_CALLBACK_USER_PARAM_ARB :: GLenum
+gl_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245
+
+gl_DEBUG_CALLBACK_USER_PARAM_KHR :: GLenum
+gl_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245
+
+gl_DEBUG_CATEGORY_API_ERROR_AMD :: GLenum
+gl_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149
+
+gl_DEBUG_CATEGORY_APPLICATION_AMD :: GLenum
+gl_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F
+
+gl_DEBUG_CATEGORY_DEPRECATION_AMD :: GLenum
+gl_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B
+
+gl_DEBUG_CATEGORY_OTHER_AMD :: GLenum
+gl_DEBUG_CATEGORY_OTHER_AMD = 0x9150
+
+gl_DEBUG_CATEGORY_PERFORMANCE_AMD :: GLenum
+gl_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D
+
+gl_DEBUG_CATEGORY_SHADER_COMPILER_AMD :: GLenum
+gl_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E
+
+gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD :: GLenum
+gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C
+
+gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD :: GLenum
+gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A
+
+gl_DEBUG_GROUP_STACK_DEPTH :: GLenum
+gl_DEBUG_GROUP_STACK_DEPTH = 0x826D
+
+gl_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
+gl_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D
+
+gl_DEBUG_LOGGED_MESSAGES :: GLenum
+gl_DEBUG_LOGGED_MESSAGES = 0x9145
+
+gl_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
+gl_DEBUG_LOGGED_MESSAGES_AMD = 0x9145
+
+gl_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
+gl_DEBUG_LOGGED_MESSAGES_ARB = 0x9145
+
+gl_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
+gl_DEBUG_LOGGED_MESSAGES_KHR = 0x9145
+
+gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
+gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243
+
+gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB :: GLenum
+gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243
+
+gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR :: GLenum
+gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243
+
+gl_DEBUG_OBJECT_MESA :: GLenum
+gl_DEBUG_OBJECT_MESA = 0x8759
+
+gl_DEBUG_OUTPUT :: GLenum
+gl_DEBUG_OUTPUT = 0x92E0
+
+gl_DEBUG_OUTPUT_KHR :: GLenum
+gl_DEBUG_OUTPUT_KHR = 0x92E0
+
+gl_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
+gl_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242
+
+gl_DEBUG_OUTPUT_SYNCHRONOUS_ARB :: GLenum
+gl_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242
+
+gl_DEBUG_OUTPUT_SYNCHRONOUS_KHR :: GLenum
+gl_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242
+
+gl_DEBUG_PRINT_MESA :: GLenum
+gl_DEBUG_PRINT_MESA = 0x875A
+
+gl_DEBUG_SEVERITY_HIGH :: GLenum
+gl_DEBUG_SEVERITY_HIGH = 0x9146
+
+gl_DEBUG_SEVERITY_HIGH_AMD :: GLenum
+gl_DEBUG_SEVERITY_HIGH_AMD = 0x9146
+
+gl_DEBUG_SEVERITY_HIGH_ARB :: GLenum
+gl_DEBUG_SEVERITY_HIGH_ARB = 0x9146
+
+gl_DEBUG_SEVERITY_HIGH_KHR :: GLenum
+gl_DEBUG_SEVERITY_HIGH_KHR = 0x9146
+
+gl_DEBUG_SEVERITY_LOW :: GLenum
+gl_DEBUG_SEVERITY_LOW = 0x9148
+
+gl_DEBUG_SEVERITY_LOW_AMD :: GLenum
+gl_DEBUG_SEVERITY_LOW_AMD = 0x9148
+
+gl_DEBUG_SEVERITY_LOW_ARB :: GLenum
+gl_DEBUG_SEVERITY_LOW_ARB = 0x9148
+
+gl_DEBUG_SEVERITY_LOW_KHR :: GLenum
+gl_DEBUG_SEVERITY_LOW_KHR = 0x9148
+
+gl_DEBUG_SEVERITY_MEDIUM :: GLenum
+gl_DEBUG_SEVERITY_MEDIUM = 0x9147
+
+gl_DEBUG_SEVERITY_MEDIUM_AMD :: GLenum
+gl_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147
+
+gl_DEBUG_SEVERITY_MEDIUM_ARB :: GLenum
+gl_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147
+
+gl_DEBUG_SEVERITY_MEDIUM_KHR :: GLenum
+gl_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147
+
+gl_DEBUG_SEVERITY_NOTIFICATION :: GLenum
+gl_DEBUG_SEVERITY_NOTIFICATION = 0x826B
+
+gl_DEBUG_SEVERITY_NOTIFICATION_KHR :: GLenum
+gl_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B
+
+gl_DEBUG_SOURCE_API :: GLenum
+gl_DEBUG_SOURCE_API = 0x8246
+
+gl_DEBUG_SOURCE_API_ARB :: GLenum
+gl_DEBUG_SOURCE_API_ARB = 0x8246
+
+gl_DEBUG_SOURCE_API_KHR :: GLenum
+gl_DEBUG_SOURCE_API_KHR = 0x8246
+
+gl_DEBUG_SOURCE_APPLICATION :: GLenum
+gl_DEBUG_SOURCE_APPLICATION = 0x824A
+
+gl_DEBUG_SOURCE_APPLICATION_ARB :: GLenum
+gl_DEBUG_SOURCE_APPLICATION_ARB = 0x824A
+
+gl_DEBUG_SOURCE_APPLICATION_KHR :: GLenum
+gl_DEBUG_SOURCE_APPLICATION_KHR = 0x824A
+
+gl_DEBUG_SOURCE_OTHER :: GLenum
+gl_DEBUG_SOURCE_OTHER = 0x824B
+
+gl_DEBUG_SOURCE_OTHER_ARB :: GLenum
+gl_DEBUG_SOURCE_OTHER_ARB = 0x824B
+
+gl_DEBUG_SOURCE_OTHER_KHR :: GLenum
+gl_DEBUG_SOURCE_OTHER_KHR = 0x824B
+
+gl_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
+gl_DEBUG_SOURCE_SHADER_COMPILER = 0x8248
+
+gl_DEBUG_SOURCE_SHADER_COMPILER_ARB :: GLenum
+gl_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248
+
+gl_DEBUG_SOURCE_SHADER_COMPILER_KHR :: GLenum
+gl_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248
+
+gl_DEBUG_SOURCE_THIRD_PARTY :: GLenum
+gl_DEBUG_SOURCE_THIRD_PARTY = 0x8249
+
+gl_DEBUG_SOURCE_THIRD_PARTY_ARB :: GLenum
+gl_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249
+
+gl_DEBUG_SOURCE_THIRD_PARTY_KHR :: GLenum
+gl_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249
+
+gl_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
+gl_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247
+
+gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARB :: GLenum
+gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247
+
+gl_DEBUG_SOURCE_WINDOW_SYSTEM_KHR :: GLenum
+gl_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247
+
+gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
+gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D
+
+gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB :: GLenum
+gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D
+
+gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR :: GLenum
+gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D
+
+gl_DEBUG_TYPE_ERROR :: GLenum
+gl_DEBUG_TYPE_ERROR = 0x824C
+
+gl_DEBUG_TYPE_ERROR_ARB :: GLenum
+gl_DEBUG_TYPE_ERROR_ARB = 0x824C
+
+gl_DEBUG_TYPE_ERROR_KHR :: GLenum
+gl_DEBUG_TYPE_ERROR_KHR = 0x824C
+
+gl_DEBUG_TYPE_MARKER :: GLenum
+gl_DEBUG_TYPE_MARKER = 0x8268
+
+gl_DEBUG_TYPE_MARKER_KHR :: GLenum
+gl_DEBUG_TYPE_MARKER_KHR = 0x8268
+
+gl_DEBUG_TYPE_OTHER :: GLenum
+gl_DEBUG_TYPE_OTHER = 0x8251
+
+gl_DEBUG_TYPE_OTHER_ARB :: GLenum
+gl_DEBUG_TYPE_OTHER_ARB = 0x8251
+
+gl_DEBUG_TYPE_OTHER_KHR :: GLenum
+gl_DEBUG_TYPE_OTHER_KHR = 0x8251
+
+gl_DEBUG_TYPE_PERFORMANCE :: GLenum
+gl_DEBUG_TYPE_PERFORMANCE = 0x8250
+
+gl_DEBUG_TYPE_PERFORMANCE_ARB :: GLenum
+gl_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250
+
+gl_DEBUG_TYPE_PERFORMANCE_KHR :: GLenum
+gl_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250
+
+gl_DEBUG_TYPE_POP_GROUP :: GLenum
+gl_DEBUG_TYPE_POP_GROUP = 0x826A
+
+gl_DEBUG_TYPE_POP_GROUP_KHR :: GLenum
+gl_DEBUG_TYPE_POP_GROUP_KHR = 0x826A
+
+gl_DEBUG_TYPE_PORTABILITY :: GLenum
+gl_DEBUG_TYPE_PORTABILITY = 0x824F
+
+gl_DEBUG_TYPE_PORTABILITY_ARB :: GLenum
+gl_DEBUG_TYPE_PORTABILITY_ARB = 0x824F
+
+gl_DEBUG_TYPE_PORTABILITY_KHR :: GLenum
+gl_DEBUG_TYPE_PORTABILITY_KHR = 0x824F
+
+gl_DEBUG_TYPE_PUSH_GROUP :: GLenum
+gl_DEBUG_TYPE_PUSH_GROUP = 0x8269
+
+gl_DEBUG_TYPE_PUSH_GROUP_KHR :: GLenum
+gl_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269
+
+gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
+gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E
+
+gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB :: GLenum
+gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E
+
+gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR :: GLenum
+gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E
+
+gl_DECAL :: GLenum
+gl_DECAL = 0x2101
+
+gl_DECODE_EXT :: GLenum
+gl_DECODE_EXT = 0x8A49
+
+gl_DECR :: GLenum
+gl_DECR = 0x1E03
+
+gl_DECR_WRAP :: GLenum
+gl_DECR_WRAP = 0x8508
+
+gl_DECR_WRAP_EXT :: GLenum
+gl_DECR_WRAP_EXT = 0x8508
+
+gl_DECR_WRAP_OES :: GLenum
+gl_DECR_WRAP_OES = 0x8508
+
+gl_DEFORMATIONS_MASK_SGIX :: GLenum
+gl_DEFORMATIONS_MASK_SGIX = 0x8196
+
+gl_DELETE_STATUS :: GLenum
+gl_DELETE_STATUS = 0x8B80
+
+gl_DEPENDENT_AR_TEXTURE_2D_NV :: GLenum
+gl_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9
+
+gl_DEPENDENT_GB_TEXTURE_2D_NV :: GLenum
+gl_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA
+
+gl_DEPENDENT_HILO_TEXTURE_2D_NV :: GLenum
+gl_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858
+
+gl_DEPENDENT_RGB_TEXTURE_3D_NV :: GLenum
+gl_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859
+
+gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV :: GLenum
+gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A
+
+gl_DEPTH :: GLenum
+gl_DEPTH = 0x1801
+
+gl_DEPTH24_STENCIL8 :: GLenum
+gl_DEPTH24_STENCIL8 = 0x88F0
+
+gl_DEPTH24_STENCIL8_EXT :: GLenum
+gl_DEPTH24_STENCIL8_EXT = 0x88F0
+
+gl_DEPTH24_STENCIL8_OES :: GLenum
+gl_DEPTH24_STENCIL8_OES = 0x88F0
+
+gl_DEPTH32F_STENCIL8 :: GLenum
+gl_DEPTH32F_STENCIL8 = 0x8CAD
+
+gl_DEPTH32F_STENCIL8_NV :: GLenum
+gl_DEPTH32F_STENCIL8_NV = 0x8DAC
+
+gl_DEPTH_ATTACHMENT :: GLenum
+gl_DEPTH_ATTACHMENT = 0x8D00
+
+gl_DEPTH_ATTACHMENT_EXT :: GLenum
+gl_DEPTH_ATTACHMENT_EXT = 0x8D00
+
+gl_DEPTH_ATTACHMENT_OES :: GLenum
+gl_DEPTH_ATTACHMENT_OES = 0x8D00
+
+gl_DEPTH_BIAS :: GLenum
+gl_DEPTH_BIAS = 0x0D1F
+
+gl_DEPTH_BITS :: GLenum
+gl_DEPTH_BITS = 0x0D56
+
+gl_DEPTH_BOUNDS_EXT :: GLenum
+gl_DEPTH_BOUNDS_EXT = 0x8891
+
+gl_DEPTH_BOUNDS_TEST_EXT :: GLenum
+gl_DEPTH_BOUNDS_TEST_EXT = 0x8890
+
+gl_DEPTH_BUFFER_BIT :: GLbitfield
+gl_DEPTH_BUFFER_BIT = 0x00000100
+
+gl_DEPTH_BUFFER_BIT0_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT0_QCOM = 0x00000100
+
+gl_DEPTH_BUFFER_BIT1_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT1_QCOM = 0x00000200
+
+gl_DEPTH_BUFFER_BIT2_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT2_QCOM = 0x00000400
+
+gl_DEPTH_BUFFER_BIT3_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT3_QCOM = 0x00000800
+
+gl_DEPTH_BUFFER_BIT4_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT4_QCOM = 0x00001000
+
+gl_DEPTH_BUFFER_BIT5_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT5_QCOM = 0x00002000
+
+gl_DEPTH_BUFFER_BIT6_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT6_QCOM = 0x00004000
+
+gl_DEPTH_BUFFER_BIT7_QCOM :: GLbitfield
+gl_DEPTH_BUFFER_BIT7_QCOM = 0x00008000
+
+gl_DEPTH_BUFFER_FLOAT_MODE_NV :: GLenum
+gl_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF
+
+gl_DEPTH_CLAMP :: GLenum
+gl_DEPTH_CLAMP = 0x864F
+
+gl_DEPTH_CLAMP_FAR_AMD :: GLenum
+gl_DEPTH_CLAMP_FAR_AMD = 0x901F
+
+gl_DEPTH_CLAMP_NEAR_AMD :: GLenum
+gl_DEPTH_CLAMP_NEAR_AMD = 0x901E
+
+gl_DEPTH_CLAMP_NV :: GLenum
+gl_DEPTH_CLAMP_NV = 0x864F
+
+gl_DEPTH_CLEAR_VALUE :: GLenum
+gl_DEPTH_CLEAR_VALUE = 0x0B73
+
+gl_DEPTH_COMPONENT :: GLenum
+gl_DEPTH_COMPONENT = 0x1902
+
+gl_DEPTH_COMPONENT16 :: GLenum
+gl_DEPTH_COMPONENT16 = 0x81A5
+
+gl_DEPTH_COMPONENT16_ARB :: GLenum
+gl_DEPTH_COMPONENT16_ARB = 0x81A5
+
+gl_DEPTH_COMPONENT16_NONLINEAR_NV :: GLenum
+gl_DEPTH_COMPONENT16_NONLINEAR_NV = 0x8E2C
+
+gl_DEPTH_COMPONENT16_OES :: GLenum
+gl_DEPTH_COMPONENT16_OES = 0x81A5
+
+gl_DEPTH_COMPONENT16_SGIX :: GLenum
+gl_DEPTH_COMPONENT16_SGIX = 0x81A5
+
+gl_DEPTH_COMPONENT24 :: GLenum
+gl_DEPTH_COMPONENT24 = 0x81A6
+
+gl_DEPTH_COMPONENT24_ARB :: GLenum
+gl_DEPTH_COMPONENT24_ARB = 0x81A6
+
+gl_DEPTH_COMPONENT24_OES :: GLenum
+gl_DEPTH_COMPONENT24_OES = 0x81A6
+
+gl_DEPTH_COMPONENT24_SGIX :: GLenum
+gl_DEPTH_COMPONENT24_SGIX = 0x81A6
+
+gl_DEPTH_COMPONENT32 :: GLenum
+gl_DEPTH_COMPONENT32 = 0x81A7
+
+gl_DEPTH_COMPONENT32F :: GLenum
+gl_DEPTH_COMPONENT32F = 0x8CAC
+
+gl_DEPTH_COMPONENT32F_NV :: GLenum
+gl_DEPTH_COMPONENT32F_NV = 0x8DAB
+
+gl_DEPTH_COMPONENT32_ARB :: GLenum
+gl_DEPTH_COMPONENT32_ARB = 0x81A7
+
+gl_DEPTH_COMPONENT32_OES :: GLenum
+gl_DEPTH_COMPONENT32_OES = 0x81A7
+
+gl_DEPTH_COMPONENT32_SGIX :: GLenum
+gl_DEPTH_COMPONENT32_SGIX = 0x81A7
+
+gl_DEPTH_COMPONENTS :: GLenum
+gl_DEPTH_COMPONENTS = 0x8284
+
+gl_DEPTH_EXT :: GLenum
+gl_DEPTH_EXT = 0x1801
+
+gl_DEPTH_FUNC :: GLenum
+gl_DEPTH_FUNC = 0x0B74
+
+gl_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX :: GLenum
+gl_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311
+
+gl_DEPTH_PASS_INSTRUMENT_MAX_SGIX :: GLenum
+gl_DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312
+
+gl_DEPTH_PASS_INSTRUMENT_SGIX :: GLenum
+gl_DEPTH_PASS_INSTRUMENT_SGIX = 0x8310
+
+gl_DEPTH_RANGE :: GLenum
+gl_DEPTH_RANGE = 0x0B70
+
+gl_DEPTH_RENDERABLE :: GLenum
+gl_DEPTH_RENDERABLE = 0x8287
+
+gl_DEPTH_SAMPLES_NV :: GLenum
+gl_DEPTH_SAMPLES_NV = 0x932D
+
+gl_DEPTH_SCALE :: GLenum
+gl_DEPTH_SCALE = 0x0D1E
+
+gl_DEPTH_STENCIL :: GLenum
+gl_DEPTH_STENCIL = 0x84F9
+
+gl_DEPTH_STENCIL_ATTACHMENT :: GLenum
+gl_DEPTH_STENCIL_ATTACHMENT = 0x821A
+
+gl_DEPTH_STENCIL_EXT :: GLenum
+gl_DEPTH_STENCIL_EXT = 0x84F9
+
+gl_DEPTH_STENCIL_MESA :: GLenum
+gl_DEPTH_STENCIL_MESA = 0x8750
+
+gl_DEPTH_STENCIL_NV :: GLenum
+gl_DEPTH_STENCIL_NV = 0x84F9
+
+gl_DEPTH_STENCIL_OES :: GLenum
+gl_DEPTH_STENCIL_OES = 0x84F9
+
+gl_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
+gl_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA
+
+gl_DEPTH_STENCIL_TO_BGRA_NV :: GLenum
+gl_DEPTH_STENCIL_TO_BGRA_NV = 0x886F
+
+gl_DEPTH_STENCIL_TO_RGBA_NV :: GLenum
+gl_DEPTH_STENCIL_TO_RGBA_NV = 0x886E
+
+gl_DEPTH_TEST :: GLenum
+gl_DEPTH_TEST = 0x0B71
+
+gl_DEPTH_TEXTURE_MODE :: GLenum
+gl_DEPTH_TEXTURE_MODE = 0x884B
+
+gl_DEPTH_TEXTURE_MODE_ARB :: GLenum
+gl_DEPTH_TEXTURE_MODE_ARB = 0x884B
+
+gl_DEPTH_WRITEMASK :: GLenum
+gl_DEPTH_WRITEMASK = 0x0B72
+
+gl_DETAIL_TEXTURE_2D_BINDING_SGIS :: GLenum
+gl_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096
+
+gl_DETAIL_TEXTURE_2D_SGIS :: GLenum
+gl_DETAIL_TEXTURE_2D_SGIS = 0x8095
+
+gl_DETAIL_TEXTURE_FUNC_POINTS_SGIS :: GLenum
+gl_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C
+
+gl_DETAIL_TEXTURE_LEVEL_SGIS :: GLenum
+gl_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A
+
+gl_DETAIL_TEXTURE_MODE_SGIS :: GLenum
+gl_DETAIL_TEXTURE_MODE_SGIS = 0x809B
+
+gl_DIFFERENCE_KHR :: GLenum
+gl_DIFFERENCE_KHR = 0x929E
+
+gl_DIFFERENCE_NV :: GLenum
+gl_DIFFERENCE_NV = 0x929E
+
+gl_DIFFUSE :: GLenum
+gl_DIFFUSE = 0x1201
+
+gl_DISCARD_ATI :: GLenum
+gl_DISCARD_ATI = 0x8763
+
+gl_DISCARD_NV :: GLenum
+gl_DISCARD_NV = 0x8530
+
+gl_DISCRETE_AMD :: GLenum
+gl_DISCRETE_AMD = 0x9006
+
+gl_DISJOINT_NV :: GLenum
+gl_DISJOINT_NV = 0x9283
+
+gl_DISPATCH_INDIRECT_BUFFER :: GLenum
+gl_DISPATCH_INDIRECT_BUFFER = 0x90EE
+
+gl_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
+gl_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF
+
+gl_DISPLAY_LIST :: GLenum
+gl_DISPLAY_LIST = 0x82E7
+
+gl_DISTANCE_ATTENUATION_EXT :: GLenum
+gl_DISTANCE_ATTENUATION_EXT = 0x8129
+
+gl_DISTANCE_ATTENUATION_SGIS :: GLenum
+gl_DISTANCE_ATTENUATION_SGIS = 0x8129
+
+gl_DITHER :: GLenum
+gl_DITHER = 0x0BD0
+
+gl_DMP_PROGRAM_BINARY_DMP :: GLenum
+gl_DMP_PROGRAM_BINARY_DMP = 0x9253
+
+gl_DOMAIN :: GLenum
+gl_DOMAIN = 0x0A02
+
+gl_DONT_CARE :: GLenum
+gl_DONT_CARE = 0x1100
+
+gl_DOT2_ADD_ATI :: GLenum
+gl_DOT2_ADD_ATI = 0x896C
+
+gl_DOT3_ATI :: GLenum
+gl_DOT3_ATI = 0x8966
+
+gl_DOT3_RGB :: GLenum
+gl_DOT3_RGB = 0x86AE
+
+gl_DOT3_RGBA :: GLenum
+gl_DOT3_RGBA = 0x86AF
+
+gl_DOT3_RGBA_ARB :: GLenum
+gl_DOT3_RGBA_ARB = 0x86AF
+
+gl_DOT3_RGBA_EXT :: GLenum
+gl_DOT3_RGBA_EXT = 0x8741
+
+gl_DOT3_RGBA_IMG :: GLenum
+gl_DOT3_RGBA_IMG = 0x86AF
+
+gl_DOT3_RGB_ARB :: GLenum
+gl_DOT3_RGB_ARB = 0x86AE
+
+gl_DOT3_RGB_EXT :: GLenum
+gl_DOT3_RGB_EXT = 0x8740
+
+gl_DOT4_ATI :: GLenum
+gl_DOT4_ATI = 0x8967
+
+gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV :: GLenum
+gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D
+
+gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV :: GLenum
+gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3
+
+gl_DOT_PRODUCT_DEPTH_REPLACE_NV :: GLenum
+gl_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED
+
+gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV :: GLenum
+gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1
+
+gl_DOT_PRODUCT_NV :: GLenum
+gl_DOT_PRODUCT_NV = 0x86EC
+
+gl_DOT_PRODUCT_PASS_THROUGH_NV :: GLenum
+gl_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B
+
+gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NV :: GLenum
+gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2
+
+gl_DOT_PRODUCT_TEXTURE_1D_NV :: GLenum
+gl_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C
+
+gl_DOT_PRODUCT_TEXTURE_2D_NV :: GLenum
+gl_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE
+
+gl_DOT_PRODUCT_TEXTURE_3D_NV :: GLenum
+gl_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF
+
+gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV :: GLenum
+gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0
+
+gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NV :: GLenum
+gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E
+
+gl_DOUBLE :: GLenum
+gl_DOUBLE = 0x140A
+
+gl_DOUBLEBUFFER :: GLenum
+gl_DOUBLEBUFFER = 0x0C32
+
+gl_DOUBLE_EXT :: GLenum
+gl_DOUBLE_EXT = 0x140A
+
+gl_DOUBLE_MAT2 :: GLenum
+gl_DOUBLE_MAT2 = 0x8F46
+
+gl_DOUBLE_MAT2_EXT :: GLenum
+gl_DOUBLE_MAT2_EXT = 0x8F46
+
+gl_DOUBLE_MAT2x3 :: GLenum
+gl_DOUBLE_MAT2x3 = 0x8F49
+
+gl_DOUBLE_MAT2x3_EXT :: GLenum
+gl_DOUBLE_MAT2x3_EXT = 0x8F49
+
+gl_DOUBLE_MAT2x4 :: GLenum
+gl_DOUBLE_MAT2x4 = 0x8F4A
+
+gl_DOUBLE_MAT2x4_EXT :: GLenum
+gl_DOUBLE_MAT2x4_EXT = 0x8F4A
+
+gl_DOUBLE_MAT3 :: GLenum
+gl_DOUBLE_MAT3 = 0x8F47
+
+gl_DOUBLE_MAT3_EXT :: GLenum
+gl_DOUBLE_MAT3_EXT = 0x8F47
+
+gl_DOUBLE_MAT3x2 :: GLenum
+gl_DOUBLE_MAT3x2 = 0x8F4B
+
+gl_DOUBLE_MAT3x2_EXT :: GLenum
+gl_DOUBLE_MAT3x2_EXT = 0x8F4B
+
+gl_DOUBLE_MAT3x4 :: GLenum
+gl_DOUBLE_MAT3x4 = 0x8F4C
+
+gl_DOUBLE_MAT3x4_EXT :: GLenum
+gl_DOUBLE_MAT3x4_EXT = 0x8F4C
+
+gl_DOUBLE_MAT4 :: GLenum
+gl_DOUBLE_MAT4 = 0x8F48
+
+gl_DOUBLE_MAT4_EXT :: GLenum
+gl_DOUBLE_MAT4_EXT = 0x8F48
+
+gl_DOUBLE_MAT4x2 :: GLenum
+gl_DOUBLE_MAT4x2 = 0x8F4D
+
+gl_DOUBLE_MAT4x2_EXT :: GLenum
+gl_DOUBLE_MAT4x2_EXT = 0x8F4D
+
+gl_DOUBLE_MAT4x3 :: GLenum
+gl_DOUBLE_MAT4x3 = 0x8F4E
+
+gl_DOUBLE_MAT4x3_EXT :: GLenum
+gl_DOUBLE_MAT4x3_EXT = 0x8F4E
+
+gl_DOUBLE_VEC2 :: GLenum
+gl_DOUBLE_VEC2 = 0x8FFC
+
+gl_DOUBLE_VEC2_EXT :: GLenum
+gl_DOUBLE_VEC2_EXT = 0x8FFC
+
+gl_DOUBLE_VEC3 :: GLenum
+gl_DOUBLE_VEC3 = 0x8FFD
+
+gl_DOUBLE_VEC3_EXT :: GLenum
+gl_DOUBLE_VEC3_EXT = 0x8FFD
+
+gl_DOUBLE_VEC4 :: GLenum
+gl_DOUBLE_VEC4 = 0x8FFE
+
+gl_DOUBLE_VEC4_EXT :: GLenum
+gl_DOUBLE_VEC4_EXT = 0x8FFE
+
+gl_DRAW_BUFFER :: GLenum
+gl_DRAW_BUFFER = 0x0C01
+
+gl_DRAW_BUFFER0 :: GLenum
+gl_DRAW_BUFFER0 = 0x8825
+
+gl_DRAW_BUFFER0_ARB :: GLenum
+gl_DRAW_BUFFER0_ARB = 0x8825
+
+gl_DRAW_BUFFER0_ATI :: GLenum
+gl_DRAW_BUFFER0_ATI = 0x8825
+
+gl_DRAW_BUFFER0_EXT :: GLenum
+gl_DRAW_BUFFER0_EXT = 0x8825
+
+gl_DRAW_BUFFER0_NV :: GLenum
+gl_DRAW_BUFFER0_NV = 0x8825
+
+gl_DRAW_BUFFER1 :: GLenum
+gl_DRAW_BUFFER1 = 0x8826
+
+gl_DRAW_BUFFER10 :: GLenum
+gl_DRAW_BUFFER10 = 0x882F
+
+gl_DRAW_BUFFER10_ARB :: GLenum
+gl_DRAW_BUFFER10_ARB = 0x882F
+
+gl_DRAW_BUFFER10_ATI :: GLenum
+gl_DRAW_BUFFER10_ATI = 0x882F
+
+gl_DRAW_BUFFER10_EXT :: GLenum
+gl_DRAW_BUFFER10_EXT = 0x882F
+
+gl_DRAW_BUFFER10_NV :: GLenum
+gl_DRAW_BUFFER10_NV = 0x882F
+
+gl_DRAW_BUFFER11 :: GLenum
+gl_DRAW_BUFFER11 = 0x8830
+
+gl_DRAW_BUFFER11_ARB :: GLenum
+gl_DRAW_BUFFER11_ARB = 0x8830
+
+gl_DRAW_BUFFER11_ATI :: GLenum
+gl_DRAW_BUFFER11_ATI = 0x8830
+
+gl_DRAW_BUFFER11_EXT :: GLenum
+gl_DRAW_BUFFER11_EXT = 0x8830
+
+gl_DRAW_BUFFER11_NV :: GLenum
+gl_DRAW_BUFFER11_NV = 0x8830
+
+gl_DRAW_BUFFER12 :: GLenum
+gl_DRAW_BUFFER12 = 0x8831
+
+gl_DRAW_BUFFER12_ARB :: GLenum
+gl_DRAW_BUFFER12_ARB = 0x8831
+
+gl_DRAW_BUFFER12_ATI :: GLenum
+gl_DRAW_BUFFER12_ATI = 0x8831
+
+gl_DRAW_BUFFER12_EXT :: GLenum
+gl_DRAW_BUFFER12_EXT = 0x8831
+
+gl_DRAW_BUFFER12_NV :: GLenum
+gl_DRAW_BUFFER12_NV = 0x8831
+
+gl_DRAW_BUFFER13 :: GLenum
+gl_DRAW_BUFFER13 = 0x8832
+
+gl_DRAW_BUFFER13_ARB :: GLenum
+gl_DRAW_BUFFER13_ARB = 0x8832
+
+gl_DRAW_BUFFER13_ATI :: GLenum
+gl_DRAW_BUFFER13_ATI = 0x8832
+
+gl_DRAW_BUFFER13_EXT :: GLenum
+gl_DRAW_BUFFER13_EXT = 0x8832
+
+gl_DRAW_BUFFER13_NV :: GLenum
+gl_DRAW_BUFFER13_NV = 0x8832
+
+gl_DRAW_BUFFER14 :: GLenum
+gl_DRAW_BUFFER14 = 0x8833
+
+gl_DRAW_BUFFER14_ARB :: GLenum
+gl_DRAW_BUFFER14_ARB = 0x8833
+
+gl_DRAW_BUFFER14_ATI :: GLenum
+gl_DRAW_BUFFER14_ATI = 0x8833
+
+gl_DRAW_BUFFER14_EXT :: GLenum
+gl_DRAW_BUFFER14_EXT = 0x8833
+
+gl_DRAW_BUFFER14_NV :: GLenum
+gl_DRAW_BUFFER14_NV = 0x8833
+
+gl_DRAW_BUFFER15 :: GLenum
+gl_DRAW_BUFFER15 = 0x8834
+
+gl_DRAW_BUFFER15_ARB :: GLenum
+gl_DRAW_BUFFER15_ARB = 0x8834
+
+gl_DRAW_BUFFER15_ATI :: GLenum
+gl_DRAW_BUFFER15_ATI = 0x8834
+
+gl_DRAW_BUFFER15_EXT :: GLenum
+gl_DRAW_BUFFER15_EXT = 0x8834
+
+gl_DRAW_BUFFER15_NV :: GLenum
+gl_DRAW_BUFFER15_NV = 0x8834
+
+gl_DRAW_BUFFER1_ARB :: GLenum
+gl_DRAW_BUFFER1_ARB = 0x8826
+
+gl_DRAW_BUFFER1_ATI :: GLenum
+gl_DRAW_BUFFER1_ATI = 0x8826
+
+gl_DRAW_BUFFER1_EXT :: GLenum
+gl_DRAW_BUFFER1_EXT = 0x8826
+
+gl_DRAW_BUFFER1_NV :: GLenum
+gl_DRAW_BUFFER1_NV = 0x8826
+
+gl_DRAW_BUFFER2 :: GLenum
+gl_DRAW_BUFFER2 = 0x8827
+
+gl_DRAW_BUFFER2_ARB :: GLenum
+gl_DRAW_BUFFER2_ARB = 0x8827
+
+gl_DRAW_BUFFER2_ATI :: GLenum
+gl_DRAW_BUFFER2_ATI = 0x8827
+
+gl_DRAW_BUFFER2_EXT :: GLenum
+gl_DRAW_BUFFER2_EXT = 0x8827
+
+gl_DRAW_BUFFER2_NV :: GLenum
+gl_DRAW_BUFFER2_NV = 0x8827
+
+gl_DRAW_BUFFER3 :: GLenum
+gl_DRAW_BUFFER3 = 0x8828
+
+gl_DRAW_BUFFER3_ARB :: GLenum
+gl_DRAW_BUFFER3_ARB = 0x8828
+
+gl_DRAW_BUFFER3_ATI :: GLenum
+gl_DRAW_BUFFER3_ATI = 0x8828
+
+gl_DRAW_BUFFER3_EXT :: GLenum
+gl_DRAW_BUFFER3_EXT = 0x8828
+
+gl_DRAW_BUFFER3_NV :: GLenum
+gl_DRAW_BUFFER3_NV = 0x8828
+
+gl_DRAW_BUFFER4 :: GLenum
+gl_DRAW_BUFFER4 = 0x8829
+
+gl_DRAW_BUFFER4_ARB :: GLenum
+gl_DRAW_BUFFER4_ARB = 0x8829
+
+gl_DRAW_BUFFER4_ATI :: GLenum
+gl_DRAW_BUFFER4_ATI = 0x8829
+
+gl_DRAW_BUFFER4_EXT :: GLenum
+gl_DRAW_BUFFER4_EXT = 0x8829
+
+gl_DRAW_BUFFER4_NV :: GLenum
+gl_DRAW_BUFFER4_NV = 0x8829
+
+gl_DRAW_BUFFER5 :: GLenum
+gl_DRAW_BUFFER5 = 0x882A
+
+gl_DRAW_BUFFER5_ARB :: GLenum
+gl_DRAW_BUFFER5_ARB = 0x882A
+
+gl_DRAW_BUFFER5_ATI :: GLenum
+gl_DRAW_BUFFER5_ATI = 0x882A
+
+gl_DRAW_BUFFER5_EXT :: GLenum
+gl_DRAW_BUFFER5_EXT = 0x882A
+
+gl_DRAW_BUFFER5_NV :: GLenum
+gl_DRAW_BUFFER5_NV = 0x882A
+
+gl_DRAW_BUFFER6 :: GLenum
+gl_DRAW_BUFFER6 = 0x882B
+
+gl_DRAW_BUFFER6_ARB :: GLenum
+gl_DRAW_BUFFER6_ARB = 0x882B
+
+gl_DRAW_BUFFER6_ATI :: GLenum
+gl_DRAW_BUFFER6_ATI = 0x882B
+
+gl_DRAW_BUFFER6_EXT :: GLenum
+gl_DRAW_BUFFER6_EXT = 0x882B
+
+gl_DRAW_BUFFER6_NV :: GLenum
+gl_DRAW_BUFFER6_NV = 0x882B
+
+gl_DRAW_BUFFER7 :: GLenum
+gl_DRAW_BUFFER7 = 0x882C
+
+gl_DRAW_BUFFER7_ARB :: GLenum
+gl_DRAW_BUFFER7_ARB = 0x882C
+
+gl_DRAW_BUFFER7_ATI :: GLenum
+gl_DRAW_BUFFER7_ATI = 0x882C
+
+gl_DRAW_BUFFER7_EXT :: GLenum
+gl_DRAW_BUFFER7_EXT = 0x882C
+
+gl_DRAW_BUFFER7_NV :: GLenum
+gl_DRAW_BUFFER7_NV = 0x882C
+
+gl_DRAW_BUFFER8 :: GLenum
+gl_DRAW_BUFFER8 = 0x882D
+
+gl_DRAW_BUFFER8_ARB :: GLenum
+gl_DRAW_BUFFER8_ARB = 0x882D
+
+gl_DRAW_BUFFER8_ATI :: GLenum
+gl_DRAW_BUFFER8_ATI = 0x882D
+
+gl_DRAW_BUFFER8_EXT :: GLenum
+gl_DRAW_BUFFER8_EXT = 0x882D
+
+gl_DRAW_BUFFER8_NV :: GLenum
+gl_DRAW_BUFFER8_NV = 0x882D
+
+gl_DRAW_BUFFER9 :: GLenum
+gl_DRAW_BUFFER9 = 0x882E
+
+gl_DRAW_BUFFER9_ARB :: GLenum
+gl_DRAW_BUFFER9_ARB = 0x882E
+
+gl_DRAW_BUFFER9_ATI :: GLenum
+gl_DRAW_BUFFER9_ATI = 0x882E
+
+gl_DRAW_BUFFER9_EXT :: GLenum
+gl_DRAW_BUFFER9_EXT = 0x882E
+
+gl_DRAW_BUFFER9_NV :: GLenum
+gl_DRAW_BUFFER9_NV = 0x882E
+
+gl_DRAW_BUFFER_EXT :: GLenum
+gl_DRAW_BUFFER_EXT = 0x0C01
+
+gl_DRAW_FRAMEBUFFER :: GLenum
+gl_DRAW_FRAMEBUFFER = 0x8CA9
+
+gl_DRAW_FRAMEBUFFER_ANGLE :: GLenum
+gl_DRAW_FRAMEBUFFER_ANGLE = 0x8CA9
+
+gl_DRAW_FRAMEBUFFER_APPLE :: GLenum
+gl_DRAW_FRAMEBUFFER_APPLE = 0x8CA9
+
+gl_DRAW_FRAMEBUFFER_BINDING :: GLenum
+gl_DRAW_FRAMEBUFFER_BINDING = 0x8CA6
+
+gl_DRAW_FRAMEBUFFER_BINDING_ANGLE :: GLenum
+gl_DRAW_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6
+
+gl_DRAW_FRAMEBUFFER_BINDING_APPLE :: GLenum
+gl_DRAW_FRAMEBUFFER_BINDING_APPLE = 0x8CA6
+
+gl_DRAW_FRAMEBUFFER_BINDING_EXT :: GLenum
+gl_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6
+
+gl_DRAW_FRAMEBUFFER_BINDING_NV :: GLenum
+gl_DRAW_FRAMEBUFFER_BINDING_NV = 0x8CA6
+
+gl_DRAW_FRAMEBUFFER_EXT :: GLenum
+gl_DRAW_FRAMEBUFFER_EXT = 0x8CA9
+
+gl_DRAW_FRAMEBUFFER_NV :: GLenum
+gl_DRAW_FRAMEBUFFER_NV = 0x8CA9
+
+gl_DRAW_INDIRECT_ADDRESS_NV :: GLenum
+gl_DRAW_INDIRECT_ADDRESS_NV = 0x8F41
+
+gl_DRAW_INDIRECT_BUFFER :: GLenum
+gl_DRAW_INDIRECT_BUFFER = 0x8F3F
+
+gl_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
+gl_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43
+
+gl_DRAW_INDIRECT_LENGTH_NV :: GLenum
+gl_DRAW_INDIRECT_LENGTH_NV = 0x8F42
+
+gl_DRAW_INDIRECT_UNIFIED_NV :: GLenum
+gl_DRAW_INDIRECT_UNIFIED_NV = 0x8F40
+
+gl_DRAW_PIXELS_APPLE :: GLenum
+gl_DRAW_PIXELS_APPLE = 0x8A0A
+
+gl_DRAW_PIXEL_TOKEN :: GLenum
+gl_DRAW_PIXEL_TOKEN = 0x0705
+
+gl_DSDT8_MAG8_INTENSITY8_NV :: GLenum
+gl_DSDT8_MAG8_INTENSITY8_NV = 0x870B
+
+gl_DSDT8_MAG8_NV :: GLenum
+gl_DSDT8_MAG8_NV = 0x870A
+
+gl_DSDT8_NV :: GLenum
+gl_DSDT8_NV = 0x8709
+
+gl_DSDT_MAG_INTENSITY_NV :: GLenum
+gl_DSDT_MAG_INTENSITY_NV = 0x86DC
+
+gl_DSDT_MAG_NV :: GLenum
+gl_DSDT_MAG_NV = 0x86F6
+
+gl_DSDT_MAG_VIB_NV :: GLenum
+gl_DSDT_MAG_VIB_NV = 0x86F7
+
+gl_DSDT_NV :: GLenum
+gl_DSDT_NV = 0x86F5
+
+gl_DST_ALPHA :: GLenum
+gl_DST_ALPHA = 0x0304
+
+gl_DST_ATOP_NV :: GLenum
+gl_DST_ATOP_NV = 0x928F
+
+gl_DST_COLOR :: GLenum
+gl_DST_COLOR = 0x0306
+
+gl_DST_IN_NV :: GLenum
+gl_DST_IN_NV = 0x928B
+
+gl_DST_NV :: GLenum
+gl_DST_NV = 0x9287
+
+gl_DST_OUT_NV :: GLenum
+gl_DST_OUT_NV = 0x928D
+
+gl_DST_OVER_NV :: GLenum
+gl_DST_OVER_NV = 0x9289
+
+gl_DS_BIAS_NV :: GLenum
+gl_DS_BIAS_NV = 0x8716
+
+gl_DS_SCALE_NV :: GLenum
+gl_DS_SCALE_NV = 0x8710
+
+gl_DT_BIAS_NV :: GLenum
+gl_DT_BIAS_NV = 0x8717
+
+gl_DT_SCALE_NV :: GLenum
+gl_DT_SCALE_NV = 0x8711
+
+gl_DU8DV8_ATI :: GLenum
+gl_DU8DV8_ATI = 0x877A
+
+gl_DUAL_ALPHA12_SGIS :: GLenum
+gl_DUAL_ALPHA12_SGIS = 0x8112
+
+gl_DUAL_ALPHA16_SGIS :: GLenum
+gl_DUAL_ALPHA16_SGIS = 0x8113
+
+gl_DUAL_ALPHA4_SGIS :: GLenum
+gl_DUAL_ALPHA4_SGIS = 0x8110
+
+gl_DUAL_ALPHA8_SGIS :: GLenum
+gl_DUAL_ALPHA8_SGIS = 0x8111
+
+gl_DUAL_INTENSITY12_SGIS :: GLenum
+gl_DUAL_INTENSITY12_SGIS = 0x811A
+
+gl_DUAL_INTENSITY16_SGIS :: GLenum
+gl_DUAL_INTENSITY16_SGIS = 0x811B
+
+gl_DUAL_INTENSITY4_SGIS :: GLenum
+gl_DUAL_INTENSITY4_SGIS = 0x8118
+
+gl_DUAL_INTENSITY8_SGIS :: GLenum
+gl_DUAL_INTENSITY8_SGIS = 0x8119
+
+gl_DUAL_LUMINANCE12_SGIS :: GLenum
+gl_DUAL_LUMINANCE12_SGIS = 0x8116
+
+gl_DUAL_LUMINANCE16_SGIS :: GLenum
+gl_DUAL_LUMINANCE16_SGIS = 0x8117
+
+gl_DUAL_LUMINANCE4_SGIS :: GLenum
+gl_DUAL_LUMINANCE4_SGIS = 0x8114
+
+gl_DUAL_LUMINANCE8_SGIS :: GLenum
+gl_DUAL_LUMINANCE8_SGIS = 0x8115
+
+gl_DUAL_LUMINANCE_ALPHA4_SGIS :: GLenum
+gl_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C
+
+gl_DUAL_LUMINANCE_ALPHA8_SGIS :: GLenum
+gl_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D
+
+gl_DUAL_TEXTURE_SELECT_SGIS :: GLenum
+gl_DUAL_TEXTURE_SELECT_SGIS = 0x8124
+
+gl_DUDV_ATI :: GLenum
+gl_DUDV_ATI = 0x8779
+
+gl_DUP_FIRST_CUBIC_CURVE_TO_NV :: GLubyte
+gl_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2
+
+gl_DUP_LAST_CUBIC_CURVE_TO_NV :: GLubyte
+gl_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4
+
+gl_DYNAMIC_ATI :: GLenum
+gl_DYNAMIC_ATI = 0x8761
+
+gl_DYNAMIC_COPY :: GLenum
+gl_DYNAMIC_COPY = 0x88EA
+
+gl_DYNAMIC_COPY_ARB :: GLenum
+gl_DYNAMIC_COPY_ARB = 0x88EA
+
+gl_DYNAMIC_DRAW :: GLenum
+gl_DYNAMIC_DRAW = 0x88E8
+
+gl_DYNAMIC_DRAW_ARB :: GLenum
+gl_DYNAMIC_DRAW_ARB = 0x88E8
+
+gl_DYNAMIC_READ :: GLenum
+gl_DYNAMIC_READ = 0x88E9
+
+gl_DYNAMIC_READ_ARB :: GLenum
+gl_DYNAMIC_READ_ARB = 0x88E9
+
+gl_DYNAMIC_STORAGE_BIT :: GLbitfield
+gl_DYNAMIC_STORAGE_BIT = 0x0100
+
+gl_EDGEFLAG_BIT_PGI :: GLbitfield
+gl_EDGEFLAG_BIT_PGI = 0x00040000
+
+gl_EDGE_FLAG :: GLenum
+gl_EDGE_FLAG = 0x0B43
+
+gl_EDGE_FLAG_ARRAY :: GLenum
+gl_EDGE_FLAG_ARRAY = 0x8079
+
+gl_EDGE_FLAG_ARRAY_ADDRESS_NV :: GLenum
+gl_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26
+
+gl_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
+gl_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B
+
+gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B
+
+gl_EDGE_FLAG_ARRAY_COUNT_EXT :: GLenum
+gl_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D
+
+gl_EDGE_FLAG_ARRAY_EXT :: GLenum
+gl_EDGE_FLAG_ARRAY_EXT = 0x8079
+
+gl_EDGE_FLAG_ARRAY_LENGTH_NV :: GLenum
+gl_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30
+
+gl_EDGE_FLAG_ARRAY_LIST_IBM :: GLenum
+gl_EDGE_FLAG_ARRAY_LIST_IBM = 103075
+
+gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085
+
+gl_EDGE_FLAG_ARRAY_POINTER :: GLenum
+gl_EDGE_FLAG_ARRAY_POINTER = 0x8093
+
+gl_EDGE_FLAG_ARRAY_POINTER_EXT :: GLenum
+gl_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093
+
+gl_EDGE_FLAG_ARRAY_STRIDE :: GLenum
+gl_EDGE_FLAG_ARRAY_STRIDE = 0x808C
+
+gl_EDGE_FLAG_ARRAY_STRIDE_EXT :: GLenum
+gl_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C
+
+gl_EFFECTIVE_RASTER_SAMPLES_EXT :: GLenum
+gl_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C
+
+gl_EIGHTH_BIT_ATI :: GLbitfield
+gl_EIGHTH_BIT_ATI = 0x00000020
+
+gl_ELEMENT_ARRAY_ADDRESS_NV :: GLenum
+gl_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29
+
+gl_ELEMENT_ARRAY_APPLE :: GLenum
+gl_ELEMENT_ARRAY_APPLE = 0x8A0C
+
+gl_ELEMENT_ARRAY_ATI :: GLenum
+gl_ELEMENT_ARRAY_ATI = 0x8768
+
+gl_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
+gl_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002
+
+gl_ELEMENT_ARRAY_BARRIER_BIT_EXT :: GLbitfield
+gl_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002
+
+gl_ELEMENT_ARRAY_BUFFER :: GLenum
+gl_ELEMENT_ARRAY_BUFFER = 0x8893
+
+gl_ELEMENT_ARRAY_BUFFER_ARB :: GLenum
+gl_ELEMENT_ARRAY_BUFFER_ARB = 0x8893
+
+gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
+gl_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895
+
+gl_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895
+
+gl_ELEMENT_ARRAY_LENGTH_NV :: GLenum
+gl_ELEMENT_ARRAY_LENGTH_NV = 0x8F33
+
+gl_ELEMENT_ARRAY_POINTER_APPLE :: GLenum
+gl_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E
+
+gl_ELEMENT_ARRAY_POINTER_ATI :: GLenum
+gl_ELEMENT_ARRAY_POINTER_ATI = 0x876A
+
+gl_ELEMENT_ARRAY_TYPE_APPLE :: GLenum
+gl_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D
+
+gl_ELEMENT_ARRAY_TYPE_ATI :: GLenum
+gl_ELEMENT_ARRAY_TYPE_ATI = 0x8769
+
+gl_ELEMENT_ARRAY_UNIFIED_NV :: GLenum
+gl_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F
+
+gl_EMBOSS_CONSTANT_NV :: GLenum
+gl_EMBOSS_CONSTANT_NV = 0x855E
+
+gl_EMBOSS_LIGHT_NV :: GLenum
+gl_EMBOSS_LIGHT_NV = 0x855D
+
+gl_EMBOSS_MAP_NV :: GLenum
+gl_EMBOSS_MAP_NV = 0x855F
+
+gl_EMISSION :: GLenum
+gl_EMISSION = 0x1600
+
+gl_ENABLE_BIT :: GLbitfield
+gl_ENABLE_BIT = 0x00002000
+
+gl_EQUAL :: GLenum
+gl_EQUAL = 0x0202
+
+gl_EQUIV :: GLenum
+gl_EQUIV = 0x1509
+
+gl_ETC1_RGB8_OES :: GLenum
+gl_ETC1_RGB8_OES = 0x8D64
+
+gl_ETC1_SRGB8_NV :: GLenum
+gl_ETC1_SRGB8_NV = 0x88EE
+
+gl_EVAL_2D_NV :: GLenum
+gl_EVAL_2D_NV = 0x86C0
+
+gl_EVAL_BIT :: GLbitfield
+gl_EVAL_BIT = 0x00010000
+
+gl_EVAL_FRACTIONAL_TESSELLATION_NV :: GLenum
+gl_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5
+
+gl_EVAL_TRIANGULAR_2D_NV :: GLenum
+gl_EVAL_TRIANGULAR_2D_NV = 0x86C1
+
+gl_EVAL_VERTEX_ATTRIB0_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB0_NV = 0x86C6
+
+gl_EVAL_VERTEX_ATTRIB10_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB10_NV = 0x86D0
+
+gl_EVAL_VERTEX_ATTRIB11_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB11_NV = 0x86D1
+
+gl_EVAL_VERTEX_ATTRIB12_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB12_NV = 0x86D2
+
+gl_EVAL_VERTEX_ATTRIB13_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB13_NV = 0x86D3
+
+gl_EVAL_VERTEX_ATTRIB14_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB14_NV = 0x86D4
+
+gl_EVAL_VERTEX_ATTRIB15_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB15_NV = 0x86D5
+
+gl_EVAL_VERTEX_ATTRIB1_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB1_NV = 0x86C7
+
+gl_EVAL_VERTEX_ATTRIB2_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB2_NV = 0x86C8
+
+gl_EVAL_VERTEX_ATTRIB3_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB3_NV = 0x86C9
+
+gl_EVAL_VERTEX_ATTRIB4_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB4_NV = 0x86CA
+
+gl_EVAL_VERTEX_ATTRIB5_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB5_NV = 0x86CB
+
+gl_EVAL_VERTEX_ATTRIB6_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB6_NV = 0x86CC
+
+gl_EVAL_VERTEX_ATTRIB7_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB7_NV = 0x86CD
+
+gl_EVAL_VERTEX_ATTRIB8_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB8_NV = 0x86CE
+
+gl_EVAL_VERTEX_ATTRIB9_NV :: GLenum
+gl_EVAL_VERTEX_ATTRIB9_NV = 0x86CF
+
+gl_EXCLUSION_KHR :: GLenum
+gl_EXCLUSION_KHR = 0x92A0
+
+gl_EXCLUSION_NV :: GLenum
+gl_EXCLUSION_NV = 0x92A0
+
+gl_EXP :: GLenum
+gl_EXP = 0x0800
+
+gl_EXP2 :: GLenum
+gl_EXP2 = 0x0801
+
+gl_EXPAND_NEGATE_NV :: GLenum
+gl_EXPAND_NEGATE_NV = 0x8539
+
+gl_EXPAND_NORMAL_NV :: GLenum
+gl_EXPAND_NORMAL_NV = 0x8538
+
+gl_EXTENSIONS :: GLenum
+gl_EXTENSIONS = 0x1F03
+
+gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD :: GLenum
+gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160
+
+gl_EYE_DISTANCE_TO_LINE_SGIS :: GLenum
+gl_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2
+
+gl_EYE_DISTANCE_TO_POINT_SGIS :: GLenum
+gl_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0
+
+gl_EYE_LINEAR :: GLenum
+gl_EYE_LINEAR = 0x2400
+
+gl_EYE_LINEAR_NV :: GLenum
+gl_EYE_LINEAR_NV = 0x2400
+
+gl_EYE_LINE_SGIS :: GLenum
+gl_EYE_LINE_SGIS = 0x81F6
+
+gl_EYE_PLANE :: GLenum
+gl_EYE_PLANE = 0x2502
+
+gl_EYE_PLANE_ABSOLUTE_NV :: GLenum
+gl_EYE_PLANE_ABSOLUTE_NV = 0x855C
+
+gl_EYE_POINT_SGIS :: GLenum
+gl_EYE_POINT_SGIS = 0x81F4
+
+gl_EYE_RADIAL_NV :: GLenum
+gl_EYE_RADIAL_NV = 0x855B
+
+gl_E_TIMES_F_NV :: GLenum
+gl_E_TIMES_F_NV = 0x8531
+
+gl_FACTOR_ALPHA_MODULATE_IMG :: GLenum
+gl_FACTOR_ALPHA_MODULATE_IMG = 0x8C07
+
+gl_FACTOR_MAX_AMD :: GLenum
+gl_FACTOR_MAX_AMD = 0x901D
+
+gl_FACTOR_MIN_AMD :: GLenum
+gl_FACTOR_MIN_AMD = 0x901C
+
+gl_FAILURE_NV :: GLenum
+gl_FAILURE_NV = 0x9030
+
+gl_FALSE :: GLenum
+gl_FALSE = 0
+
+gl_FASTEST :: GLenum
+gl_FASTEST = 0x1101
+
+gl_FEEDBACK :: GLenum
+gl_FEEDBACK = 0x1C01
+
+gl_FEEDBACK_BUFFER_POINTER :: GLenum
+gl_FEEDBACK_BUFFER_POINTER = 0x0DF0
+
+gl_FEEDBACK_BUFFER_SIZE :: GLenum
+gl_FEEDBACK_BUFFER_SIZE = 0x0DF1
+
+gl_FEEDBACK_BUFFER_TYPE :: GLenum
+gl_FEEDBACK_BUFFER_TYPE = 0x0DF2
+
+gl_FENCE_APPLE :: GLenum
+gl_FENCE_APPLE = 0x8A0B
+
+gl_FENCE_CONDITION_NV :: GLenum
+gl_FENCE_CONDITION_NV = 0x84F4
+
+gl_FENCE_STATUS_NV :: GLenum
+gl_FENCE_STATUS_NV = 0x84F3
+
+gl_FETCH_PER_SAMPLE_ARM :: GLenum
+gl_FETCH_PER_SAMPLE_ARM = 0x8F65
+
+gl_FIELDS_NV :: GLenum
+gl_FIELDS_NV = 0x8E27
+
+gl_FIELD_LOWER_NV :: GLenum
+gl_FIELD_LOWER_NV = 0x9023
+
+gl_FIELD_UPPER_NV :: GLenum
+gl_FIELD_UPPER_NV = 0x9022
+
+gl_FILE_NAME_NV :: GLenum
+gl_FILE_NAME_NV = 0x9074
+
+gl_FILL :: GLenum
+gl_FILL = 0x1B02
+
+gl_FILL_RECTANGLE_NV :: GLenum
+gl_FILL_RECTANGLE_NV = 0x933C
+
+gl_FILTER :: GLenum
+gl_FILTER = 0x829A
+
+gl_FILTER4_SGIS :: GLenum
+gl_FILTER4_SGIS = 0x8146
+
+gl_FIRST_TO_REST_NV :: GLenum
+gl_FIRST_TO_REST_NV = 0x90AF
+
+gl_FIRST_VERTEX_CONVENTION :: GLenum
+gl_FIRST_VERTEX_CONVENTION = 0x8E4D
+
+gl_FIRST_VERTEX_CONVENTION_EXT :: GLenum
+gl_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D
+
+gl_FIRST_VERTEX_CONVENTION_OES :: GLenum
+gl_FIRST_VERTEX_CONVENTION_OES = 0x8E4D
+
+gl_FIXED :: GLenum
+gl_FIXED = 0x140C
+
+gl_FIXED_OES :: GLenum
+gl_FIXED_OES = 0x140C
+
+gl_FIXED_ONLY :: GLenum
+gl_FIXED_ONLY = 0x891D
+
+gl_FIXED_ONLY_ARB :: GLenum
+gl_FIXED_ONLY_ARB = 0x891D
+
+gl_FLAT :: GLenum
+gl_FLAT = 0x1D00
+
+gl_FLOAT :: GLenum
+gl_FLOAT = 0x1406
+
+gl_FLOAT16_NV :: GLenum
+gl_FLOAT16_NV = 0x8FF8
+
+gl_FLOAT16_VEC2_NV :: GLenum
+gl_FLOAT16_VEC2_NV = 0x8FF9
+
+gl_FLOAT16_VEC3_NV :: GLenum
+gl_FLOAT16_VEC3_NV = 0x8FFA
+
+gl_FLOAT16_VEC4_NV :: GLenum
+gl_FLOAT16_VEC4_NV = 0x8FFB
+
+gl_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
+gl_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD
+
+gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NV :: GLenum
+gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD
+
+gl_FLOAT_CLEAR_COLOR_VALUE_NV :: GLenum
+gl_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D
+
+gl_FLOAT_MAT2 :: GLenum
+gl_FLOAT_MAT2 = 0x8B5A
+
+gl_FLOAT_MAT2_ARB :: GLenum
+gl_FLOAT_MAT2_ARB = 0x8B5A
+
+gl_FLOAT_MAT2x3 :: GLenum
+gl_FLOAT_MAT2x3 = 0x8B65
+
+gl_FLOAT_MAT2x3_NV :: GLenum
+gl_FLOAT_MAT2x3_NV = 0x8B65
+
+gl_FLOAT_MAT2x4 :: GLenum
+gl_FLOAT_MAT2x4 = 0x8B66
+
+gl_FLOAT_MAT2x4_NV :: GLenum
+gl_FLOAT_MAT2x4_NV = 0x8B66
+
+gl_FLOAT_MAT3 :: GLenum
+gl_FLOAT_MAT3 = 0x8B5B
+
+gl_FLOAT_MAT3_ARB :: GLenum
+gl_FLOAT_MAT3_ARB = 0x8B5B
+
+gl_FLOAT_MAT3x2 :: GLenum
+gl_FLOAT_MAT3x2 = 0x8B67
+
+gl_FLOAT_MAT3x2_NV :: GLenum
+gl_FLOAT_MAT3x2_NV = 0x8B67
+
+gl_FLOAT_MAT3x4 :: GLenum
+gl_FLOAT_MAT3x4 = 0x8B68
+
+gl_FLOAT_MAT3x4_NV :: GLenum
+gl_FLOAT_MAT3x4_NV = 0x8B68
+
+gl_FLOAT_MAT4 :: GLenum
+gl_FLOAT_MAT4 = 0x8B5C
+
+gl_FLOAT_MAT4_ARB :: GLenum
+gl_FLOAT_MAT4_ARB = 0x8B5C
+
+gl_FLOAT_MAT4x2 :: GLenum
+gl_FLOAT_MAT4x2 = 0x8B69
+
+gl_FLOAT_MAT4x2_NV :: GLenum
+gl_FLOAT_MAT4x2_NV = 0x8B69
+
+gl_FLOAT_MAT4x3 :: GLenum
+gl_FLOAT_MAT4x3 = 0x8B6A
+
+gl_FLOAT_MAT4x3_NV :: GLenum
+gl_FLOAT_MAT4x3_NV = 0x8B6A
+
+gl_FLOAT_R16_NV :: GLenum
+gl_FLOAT_R16_NV = 0x8884
+
+gl_FLOAT_R32_NV :: GLenum
+gl_FLOAT_R32_NV = 0x8885
+
+gl_FLOAT_RG16_NV :: GLenum
+gl_FLOAT_RG16_NV = 0x8886
+
+gl_FLOAT_RG32_NV :: GLenum
+gl_FLOAT_RG32_NV = 0x8887
+
+gl_FLOAT_RGB16_NV :: GLenum
+gl_FLOAT_RGB16_NV = 0x8888
+
+gl_FLOAT_RGB32_NV :: GLenum
+gl_FLOAT_RGB32_NV = 0x8889
+
+gl_FLOAT_RGBA16_NV :: GLenum
+gl_FLOAT_RGBA16_NV = 0x888A
+
+gl_FLOAT_RGBA32_NV :: GLenum
+gl_FLOAT_RGBA32_NV = 0x888B
+
+gl_FLOAT_RGBA_MODE_NV :: GLenum
+gl_FLOAT_RGBA_MODE_NV = 0x888E
+
+gl_FLOAT_RGBA_NV :: GLenum
+gl_FLOAT_RGBA_NV = 0x8883
+
+gl_FLOAT_RGB_NV :: GLenum
+gl_FLOAT_RGB_NV = 0x8882
+
+gl_FLOAT_RG_NV :: GLenum
+gl_FLOAT_RG_NV = 0x8881
+
+gl_FLOAT_R_NV :: GLenum
+gl_FLOAT_R_NV = 0x8880
+
+gl_FLOAT_VEC2 :: GLenum
+gl_FLOAT_VEC2 = 0x8B50
+
+gl_FLOAT_VEC2_ARB :: GLenum
+gl_FLOAT_VEC2_ARB = 0x8B50
+
+gl_FLOAT_VEC3 :: GLenum
+gl_FLOAT_VEC3 = 0x8B51
+
+gl_FLOAT_VEC3_ARB :: GLenum
+gl_FLOAT_VEC3_ARB = 0x8B51
+
+gl_FLOAT_VEC4 :: GLenum
+gl_FLOAT_VEC4 = 0x8B52
+
+gl_FLOAT_VEC4_ARB :: GLenum
+gl_FLOAT_VEC4_ARB = 0x8B52
+
+gl_FOG :: GLenum
+gl_FOG = 0x0B60
+
+gl_FOG_BIT :: GLbitfield
+gl_FOG_BIT = 0x00000080
+
+gl_FOG_COLOR :: GLenum
+gl_FOG_COLOR = 0x0B66
+
+gl_FOG_COORD :: GLenum
+gl_FOG_COORD = 0x8451
+
+gl_FOG_COORDINATE :: GLenum
+gl_FOG_COORDINATE = 0x8451
+
+gl_FOG_COORDINATE_ARRAY :: GLenum
+gl_FOG_COORDINATE_ARRAY = 0x8457
+
+gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
+gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D
+
+gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D
+
+gl_FOG_COORDINATE_ARRAY_EXT :: GLenum
+gl_FOG_COORDINATE_ARRAY_EXT = 0x8457
+
+gl_FOG_COORDINATE_ARRAY_LIST_IBM :: GLenum
+gl_FOG_COORDINATE_ARRAY_LIST_IBM = 103076
+
+gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086
+
+gl_FOG_COORDINATE_ARRAY_POINTER :: GLenum
+gl_FOG_COORDINATE_ARRAY_POINTER = 0x8456
+
+gl_FOG_COORDINATE_ARRAY_POINTER_EXT :: GLenum
+gl_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456
+
+gl_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
+gl_FOG_COORDINATE_ARRAY_STRIDE = 0x8455
+
+gl_FOG_COORDINATE_ARRAY_STRIDE_EXT :: GLenum
+gl_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455
+
+gl_FOG_COORDINATE_ARRAY_TYPE :: GLenum
+gl_FOG_COORDINATE_ARRAY_TYPE = 0x8454
+
+gl_FOG_COORDINATE_ARRAY_TYPE_EXT :: GLenum
+gl_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454
+
+gl_FOG_COORDINATE_EXT :: GLenum
+gl_FOG_COORDINATE_EXT = 0x8451
+
+gl_FOG_COORDINATE_SOURCE :: GLenum
+gl_FOG_COORDINATE_SOURCE = 0x8450
+
+gl_FOG_COORDINATE_SOURCE_EXT :: GLenum
+gl_FOG_COORDINATE_SOURCE_EXT = 0x8450
+
+gl_FOG_COORD_ARRAY :: GLenum
+gl_FOG_COORD_ARRAY = 0x8457
+
+gl_FOG_COORD_ARRAY_ADDRESS_NV :: GLenum
+gl_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28
+
+gl_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
+gl_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D
+
+gl_FOG_COORD_ARRAY_LENGTH_NV :: GLenum
+gl_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32
+
+gl_FOG_COORD_ARRAY_POINTER :: GLenum
+gl_FOG_COORD_ARRAY_POINTER = 0x8456
+
+gl_FOG_COORD_ARRAY_STRIDE :: GLenum
+gl_FOG_COORD_ARRAY_STRIDE = 0x8455
+
+gl_FOG_COORD_ARRAY_TYPE :: GLenum
+gl_FOG_COORD_ARRAY_TYPE = 0x8454
+
+gl_FOG_COORD_SRC :: GLenum
+gl_FOG_COORD_SRC = 0x8450
+
+gl_FOG_DENSITY :: GLenum
+gl_FOG_DENSITY = 0x0B62
+
+gl_FOG_DISTANCE_MODE_NV :: GLenum
+gl_FOG_DISTANCE_MODE_NV = 0x855A
+
+gl_FOG_END :: GLenum
+gl_FOG_END = 0x0B64
+
+gl_FOG_FUNC_POINTS_SGIS :: GLenum
+gl_FOG_FUNC_POINTS_SGIS = 0x812B
+
+gl_FOG_FUNC_SGIS :: GLenum
+gl_FOG_FUNC_SGIS = 0x812A
+
+gl_FOG_HINT :: GLenum
+gl_FOG_HINT = 0x0C54
+
+gl_FOG_INDEX :: GLenum
+gl_FOG_INDEX = 0x0B61
+
+gl_FOG_MODE :: GLenum
+gl_FOG_MODE = 0x0B65
+
+gl_FOG_OFFSET_SGIX :: GLenum
+gl_FOG_OFFSET_SGIX = 0x8198
+
+gl_FOG_OFFSET_VALUE_SGIX :: GLenum
+gl_FOG_OFFSET_VALUE_SGIX = 0x8199
+
+gl_FOG_SPECULAR_TEXTURE_WIN :: GLenum
+gl_FOG_SPECULAR_TEXTURE_WIN = 0x80EC
+
+gl_FOG_START :: GLenum
+gl_FOG_START = 0x0B63
+
+gl_FONT_ASCENDER_BIT_NV :: GLbitfield
+gl_FONT_ASCENDER_BIT_NV = 0x00200000
+
+gl_FONT_DESCENDER_BIT_NV :: GLbitfield
+gl_FONT_DESCENDER_BIT_NV = 0x00400000
+
+gl_FONT_GLYPHS_AVAILABLE_NV :: GLenum
+gl_FONT_GLYPHS_AVAILABLE_NV = 0x9368
+
+gl_FONT_HAS_KERNING_BIT_NV :: GLbitfield
+gl_FONT_HAS_KERNING_BIT_NV = 0x10000000
+
+gl_FONT_HEIGHT_BIT_NV :: GLbitfield
+gl_FONT_HEIGHT_BIT_NV = 0x00800000
+
+gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLbitfield
+gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000
+
+gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLbitfield
+gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000
+
+gl_FONT_NUM_GLYPH_INDICES_BIT_NV :: GLbitfield
+gl_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000
+
+gl_FONT_TARGET_UNAVAILABLE_NV :: GLenum
+gl_FONT_TARGET_UNAVAILABLE_NV = 0x9369
+
+gl_FONT_UNAVAILABLE_NV :: GLenum
+gl_FONT_UNAVAILABLE_NV = 0x936A
+
+gl_FONT_UNDERLINE_POSITION_BIT_NV :: GLbitfield
+gl_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000
+
+gl_FONT_UNDERLINE_THICKNESS_BIT_NV :: GLbitfield
+gl_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000
+
+gl_FONT_UNINTELLIGIBLE_NV :: GLenum
+gl_FONT_UNINTELLIGIBLE_NV = 0x936B
+
+gl_FONT_UNITS_PER_EM_BIT_NV :: GLbitfield
+gl_FONT_UNITS_PER_EM_BIT_NV = 0x00100000
+
+gl_FONT_X_MAX_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000
+
+gl_FONT_X_MIN_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000
+
+gl_FONT_Y_MAX_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000
+
+gl_FONT_Y_MIN_BOUNDS_BIT_NV :: GLbitfield
+gl_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000
+
+gl_FORCE_BLUE_TO_ONE_NV :: GLenum
+gl_FORCE_BLUE_TO_ONE_NV = 0x8860
+
+gl_FORMAT_SUBSAMPLE_244_244_OML :: GLenum
+gl_FORMAT_SUBSAMPLE_244_244_OML = 0x8983
+
+gl_FORMAT_SUBSAMPLE_24_24_OML :: GLenum
+gl_FORMAT_SUBSAMPLE_24_24_OML = 0x8982
+
+gl_FRACTIONAL_EVEN :: GLenum
+gl_FRACTIONAL_EVEN = 0x8E7C
+
+gl_FRACTIONAL_EVEN_EXT :: GLenum
+gl_FRACTIONAL_EVEN_EXT = 0x8E7C
+
+gl_FRACTIONAL_EVEN_OES :: GLenum
+gl_FRACTIONAL_EVEN_OES = 0x8E7C
+
+gl_FRACTIONAL_ODD :: GLenum
+gl_FRACTIONAL_ODD = 0x8E7B
+
+gl_FRACTIONAL_ODD_EXT :: GLenum
+gl_FRACTIONAL_ODD_EXT = 0x8E7B
+
+gl_FRACTIONAL_ODD_OES :: GLenum
+gl_FRACTIONAL_ODD_OES = 0x8E7B
+
+gl_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX :: GLenum
+gl_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 0x8314
+
+gl_FRAGMENTS_INSTRUMENT_MAX_SGIX :: GLenum
+gl_FRAGMENTS_INSTRUMENT_MAX_SGIX = 0x8315
+
+gl_FRAGMENTS_INSTRUMENT_SGIX :: GLenum
+gl_FRAGMENTS_INSTRUMENT_SGIX = 0x8313
+
+gl_FRAGMENT_ALPHA_MODULATE_IMG :: GLenum
+gl_FRAGMENT_ALPHA_MODULATE_IMG = 0x8C08
+
+gl_FRAGMENT_COLOR_EXT :: GLenum
+gl_FRAGMENT_COLOR_EXT = 0x834C
+
+gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIX :: GLenum
+gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402
+
+gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX :: GLenum
+gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403
+
+gl_FRAGMENT_COLOR_MATERIAL_SGIX :: GLenum
+gl_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401
+
+gl_FRAGMENT_COVERAGE_COLOR_NV :: GLenum
+gl_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE
+
+gl_FRAGMENT_COVERAGE_TO_COLOR_NV :: GLenum
+gl_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD
+
+gl_FRAGMENT_DEPTH :: GLenum
+gl_FRAGMENT_DEPTH = 0x8452
+
+gl_FRAGMENT_DEPTH_EXT :: GLenum
+gl_FRAGMENT_DEPTH_EXT = 0x8452
+
+gl_FRAGMENT_INPUT_NV :: GLenum
+gl_FRAGMENT_INPUT_NV = 0x936D
+
+gl_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
+gl_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D
+
+gl_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES :: GLenum
+gl_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D
+
+gl_FRAGMENT_LIGHT0_SGIX :: GLenum
+gl_FRAGMENT_LIGHT0_SGIX = 0x840C
+
+gl_FRAGMENT_LIGHT1_SGIX :: GLenum
+gl_FRAGMENT_LIGHT1_SGIX = 0x840D
+
+gl_FRAGMENT_LIGHT2_SGIX :: GLenum
+gl_FRAGMENT_LIGHT2_SGIX = 0x840E
+
+gl_FRAGMENT_LIGHT3_SGIX :: GLenum
+gl_FRAGMENT_LIGHT3_SGIX = 0x840F
+
+gl_FRAGMENT_LIGHT4_SGIX :: GLenum
+gl_FRAGMENT_LIGHT4_SGIX = 0x8410
+
+gl_FRAGMENT_LIGHT5_SGIX :: GLenum
+gl_FRAGMENT_LIGHT5_SGIX = 0x8411
+
+gl_FRAGMENT_LIGHT6_SGIX :: GLenum
+gl_FRAGMENT_LIGHT6_SGIX = 0x8412
+
+gl_FRAGMENT_LIGHT7_SGIX :: GLenum
+gl_FRAGMENT_LIGHT7_SGIX = 0x8413
+
+gl_FRAGMENT_LIGHTING_SGIX :: GLenum
+gl_FRAGMENT_LIGHTING_SGIX = 0x8400
+
+gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A
+
+gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408
+
+gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B
+
+gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX :: GLenum
+gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409
+
+gl_FRAGMENT_MATERIAL_EXT :: GLenum
+gl_FRAGMENT_MATERIAL_EXT = 0x8349
+
+gl_FRAGMENT_NORMAL_EXT :: GLenum
+gl_FRAGMENT_NORMAL_EXT = 0x834A
+
+gl_FRAGMENT_PROGRAM_ARB :: GLenum
+gl_FRAGMENT_PROGRAM_ARB = 0x8804
+
+gl_FRAGMENT_PROGRAM_BINDING_NV :: GLenum
+gl_FRAGMENT_PROGRAM_BINDING_NV = 0x8873
+
+gl_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA :: GLenum
+gl_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 0x8BB3
+
+gl_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
+gl_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB2
+
+gl_FRAGMENT_PROGRAM_CALLBACK_MESA :: GLenum
+gl_FRAGMENT_PROGRAM_CALLBACK_MESA = 0x8BB1
+
+gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV :: GLenum
+gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D
+
+gl_FRAGMENT_PROGRAM_NV :: GLenum
+gl_FRAGMENT_PROGRAM_NV = 0x8870
+
+gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
+gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4
+
+gl_FRAGMENT_PROGRAM_POSITION_MESA :: GLenum
+gl_FRAGMENT_PROGRAM_POSITION_MESA = 0x8BB0
+
+gl_FRAGMENT_SHADER :: GLenum
+gl_FRAGMENT_SHADER = 0x8B30
+
+gl_FRAGMENT_SHADER_ARB :: GLenum
+gl_FRAGMENT_SHADER_ARB = 0x8B30
+
+gl_FRAGMENT_SHADER_ATI :: GLenum
+gl_FRAGMENT_SHADER_ATI = 0x8920
+
+gl_FRAGMENT_SHADER_BIT :: GLbitfield
+gl_FRAGMENT_SHADER_BIT = 0x00000002
+
+gl_FRAGMENT_SHADER_BIT_EXT :: GLbitfield
+gl_FRAGMENT_SHADER_BIT_EXT = 0x00000002
+
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B
+
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB :: GLenum
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B
+
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OES :: GLenum
+gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B
+
+gl_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT :: GLenum
+gl_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52
+
+gl_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM :: GLenum
+gl_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66
+
+gl_FRAGMENT_SHADER_INVOCATIONS_ARB :: GLenum
+gl_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4
+
+gl_FRAGMENT_SUBROUTINE :: GLenum
+gl_FRAGMENT_SUBROUTINE = 0x92EC
+
+gl_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
+gl_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2
+
+gl_FRAGMENT_TEXTURE :: GLenum
+gl_FRAGMENT_TEXTURE = 0x829F
+
+gl_FRAMEBUFFER :: GLenum
+gl_FRAMEBUFFER = 0x8D40
+
+gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215
+
+gl_FRAMEBUFFER_ATTACHMENT_ANGLE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3
+
+gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214
+
+gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210
+
+gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210
+
+gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211
+
+gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211
+
+gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216
+
+gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213
+
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7
+
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7
+
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7
+
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED_OES :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_LAYERED_OES = 0x8DA7
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0
+
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0
+
+gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212
+
+gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2
+
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT :: GLenum
+gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = 0x8D6C
+
+gl_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
+gl_FRAMEBUFFER_BARRIER_BIT = 0x00000400
+
+gl_FRAMEBUFFER_BARRIER_BIT_EXT :: GLbitfield
+gl_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400
+
+gl_FRAMEBUFFER_BINDING :: GLenum
+gl_FRAMEBUFFER_BINDING = 0x8CA6
+
+gl_FRAMEBUFFER_BINDING_ANGLE :: GLenum
+gl_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6
+
+gl_FRAMEBUFFER_BINDING_EXT :: GLenum
+gl_FRAMEBUFFER_BINDING_EXT = 0x8CA6
+
+gl_FRAMEBUFFER_BINDING_OES :: GLenum
+gl_FRAMEBUFFER_BINDING_OES = 0x8CA6
+
+gl_FRAMEBUFFER_BLEND :: GLenum
+gl_FRAMEBUFFER_BLEND = 0x828B
+
+gl_FRAMEBUFFER_COMPLETE :: GLenum
+gl_FRAMEBUFFER_COMPLETE = 0x8CD5
+
+gl_FRAMEBUFFER_COMPLETE_EXT :: GLenum
+gl_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5
+
+gl_FRAMEBUFFER_COMPLETE_OES :: GLenum
+gl_FRAMEBUFFER_COMPLETE_OES = 0x8CD5
+
+gl_FRAMEBUFFER_DEFAULT :: GLenum
+gl_FRAMEBUFFER_DEFAULT = 0x8218
+
+gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
+gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314
+
+gl_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
+gl_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311
+
+gl_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
+gl_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312
+
+gl_FRAMEBUFFER_DEFAULT_LAYERS_EXT :: GLenum
+gl_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312
+
+gl_FRAMEBUFFER_DEFAULT_LAYERS_OES :: GLenum
+gl_FRAMEBUFFER_DEFAULT_LAYERS_OES = 0x9312
+
+gl_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
+gl_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313
+
+gl_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
+gl_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310
+
+gl_FRAMEBUFFER_EXT :: GLenum
+gl_FRAMEBUFFER_EXT = 0x8D40
+
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6
+
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6
+
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6
+
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9
+
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9
+
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9
+
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB
+
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB
+
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB
+
+gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA
+
+gl_FRAMEBUFFER_INCOMPLETE_FORMATS_OES :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8
+
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES = 0x8DA8
+
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7
+
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7
+
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7
+
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56
+
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = 0x8D56
+
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = 0x8D56
+
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56
+
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = 0x9134
+
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = 0x8D56
+
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC
+
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC
+
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES :: GLenum
+gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC
+
+gl_FRAMEBUFFER_OES :: GLenum
+gl_FRAMEBUFFER_OES = 0x8D40
+
+gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV :: GLenum
+gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342
+
+gl_FRAMEBUFFER_RENDERABLE :: GLenum
+gl_FRAMEBUFFER_RENDERABLE = 0x8289
+
+gl_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
+gl_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A
+
+gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV :: GLenum
+gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343
+
+gl_FRAMEBUFFER_SRGB :: GLenum
+gl_FRAMEBUFFER_SRGB = 0x8DB9
+
+gl_FRAMEBUFFER_SRGB_CAPABLE_EXT :: GLenum
+gl_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA
+
+gl_FRAMEBUFFER_SRGB_EXT :: GLenum
+gl_FRAMEBUFFER_SRGB_EXT = 0x8DB9
+
+gl_FRAMEBUFFER_UNDEFINED :: GLenum
+gl_FRAMEBUFFER_UNDEFINED = 0x8219
+
+gl_FRAMEBUFFER_UNDEFINED_OES :: GLenum
+gl_FRAMEBUFFER_UNDEFINED_OES = 0x8219
+
+gl_FRAMEBUFFER_UNSUPPORTED :: GLenum
+gl_FRAMEBUFFER_UNSUPPORTED = 0x8CDD
+
+gl_FRAMEBUFFER_UNSUPPORTED_EXT :: GLenum
+gl_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD
+
+gl_FRAMEBUFFER_UNSUPPORTED_OES :: GLenum
+gl_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD
+
+gl_FRAMEZOOM_FACTOR_SGIX :: GLenum
+gl_FRAMEZOOM_FACTOR_SGIX = 0x818C
+
+gl_FRAMEZOOM_SGIX :: GLenum
+gl_FRAMEZOOM_SGIX = 0x818B
+
+gl_FRAME_NV :: GLenum
+gl_FRAME_NV = 0x8E26
+
+gl_FRONT :: GLenum
+gl_FRONT = 0x0404
+
+gl_FRONT_AND_BACK :: GLenum
+gl_FRONT_AND_BACK = 0x0408
+
+gl_FRONT_FACE :: GLenum
+gl_FRONT_FACE = 0x0B46
+
+gl_FRONT_LEFT :: GLenum
+gl_FRONT_LEFT = 0x0400
+
+gl_FRONT_RIGHT :: GLenum
+gl_FRONT_RIGHT = 0x0401
+
+gl_FULL_RANGE_EXT :: GLenum
+gl_FULL_RANGE_EXT = 0x87E1
+
+gl_FULL_STIPPLE_HINT_PGI :: GLenum
+gl_FULL_STIPPLE_HINT_PGI = 0x1A219
+
+gl_FULL_SUPPORT :: GLenum
+gl_FULL_SUPPORT = 0x82B7
+
+gl_FUNC_ADD :: GLenum
+gl_FUNC_ADD = 0x8006
+
+gl_FUNC_ADD_EXT :: GLenum
+gl_FUNC_ADD_EXT = 0x8006
+
+gl_FUNC_ADD_OES :: GLenum
+gl_FUNC_ADD_OES = 0x8006
+
+gl_FUNC_REVERSE_SUBTRACT :: GLenum
+gl_FUNC_REVERSE_SUBTRACT = 0x800B
+
+gl_FUNC_REVERSE_SUBTRACT_EXT :: GLenum
+gl_FUNC_REVERSE_SUBTRACT_EXT = 0x800B
+
+gl_FUNC_REVERSE_SUBTRACT_OES :: GLenum
+gl_FUNC_REVERSE_SUBTRACT_OES = 0x800B
+
+gl_FUNC_SUBTRACT :: GLenum
+gl_FUNC_SUBTRACT = 0x800A
+
+gl_FUNC_SUBTRACT_EXT :: GLenum
+gl_FUNC_SUBTRACT_EXT = 0x800A
+
+gl_FUNC_SUBTRACT_OES :: GLenum
+gl_FUNC_SUBTRACT_OES = 0x800A
+
+gl_GCCSO_SHADER_BINARY_FJ :: GLenum
+gl_GCCSO_SHADER_BINARY_FJ = 0x9260
+
+gl_GENERATE_MIPMAP :: GLenum
+gl_GENERATE_MIPMAP = 0x8191
+
+gl_GENERATE_MIPMAP_HINT :: GLenum
+gl_GENERATE_MIPMAP_HINT = 0x8192
+
+gl_GENERATE_MIPMAP_HINT_SGIS :: GLenum
+gl_GENERATE_MIPMAP_HINT_SGIS = 0x8192
+
+gl_GENERATE_MIPMAP_SGIS :: GLenum
+gl_GENERATE_MIPMAP_SGIS = 0x8191
+
+gl_GENERIC_ATTRIB_NV :: GLenum
+gl_GENERIC_ATTRIB_NV = 0x8C7D
+
+gl_GEOMETRY_DEFORMATION_BIT_SGIX :: GLbitfield
+gl_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002
+
+gl_GEOMETRY_DEFORMATION_SGIX :: GLenum
+gl_GEOMETRY_DEFORMATION_SGIX = 0x8194
+
+gl_GEOMETRY_INPUT_TYPE :: GLenum
+gl_GEOMETRY_INPUT_TYPE = 0x8917
+
+gl_GEOMETRY_INPUT_TYPE_ARB :: GLenum
+gl_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB
+
+gl_GEOMETRY_INPUT_TYPE_EXT :: GLenum
+gl_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB
+
+gl_GEOMETRY_LINKED_INPUT_TYPE_EXT :: GLenum
+gl_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917
+
+gl_GEOMETRY_LINKED_INPUT_TYPE_OES :: GLenum
+gl_GEOMETRY_LINKED_INPUT_TYPE_OES = 0x8917
+
+gl_GEOMETRY_LINKED_OUTPUT_TYPE_EXT :: GLenum
+gl_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918
+
+gl_GEOMETRY_LINKED_OUTPUT_TYPE_OES :: GLenum
+gl_GEOMETRY_LINKED_OUTPUT_TYPE_OES = 0x8918
+
+gl_GEOMETRY_LINKED_VERTICES_OUT_EXT :: GLenum
+gl_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916
+
+gl_GEOMETRY_LINKED_VERTICES_OUT_OES :: GLenum
+gl_GEOMETRY_LINKED_VERTICES_OUT_OES = 0x8916
+
+gl_GEOMETRY_OUTPUT_TYPE :: GLenum
+gl_GEOMETRY_OUTPUT_TYPE = 0x8918
+
+gl_GEOMETRY_OUTPUT_TYPE_ARB :: GLenum
+gl_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC
+
+gl_GEOMETRY_OUTPUT_TYPE_EXT :: GLenum
+gl_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC
+
+gl_GEOMETRY_PROGRAM_NV :: GLenum
+gl_GEOMETRY_PROGRAM_NV = 0x8C26
+
+gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
+gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3
+
+gl_GEOMETRY_SHADER :: GLenum
+gl_GEOMETRY_SHADER = 0x8DD9
+
+gl_GEOMETRY_SHADER_ARB :: GLenum
+gl_GEOMETRY_SHADER_ARB = 0x8DD9
+
+gl_GEOMETRY_SHADER_BIT :: GLbitfield
+gl_GEOMETRY_SHADER_BIT = 0x00000004
+
+gl_GEOMETRY_SHADER_BIT_EXT :: GLbitfield
+gl_GEOMETRY_SHADER_BIT_EXT = 0x00000004
+
+gl_GEOMETRY_SHADER_BIT_OES :: GLbitfield
+gl_GEOMETRY_SHADER_BIT_OES = 0x00000004
+
+gl_GEOMETRY_SHADER_EXT :: GLenum
+gl_GEOMETRY_SHADER_EXT = 0x8DD9
+
+gl_GEOMETRY_SHADER_INVOCATIONS :: GLenum
+gl_GEOMETRY_SHADER_INVOCATIONS = 0x887F
+
+gl_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
+gl_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F
+
+gl_GEOMETRY_SHADER_INVOCATIONS_OES :: GLenum
+gl_GEOMETRY_SHADER_INVOCATIONS_OES = 0x887F
+
+gl_GEOMETRY_SHADER_OES :: GLenum
+gl_GEOMETRY_SHADER_OES = 0x8DD9
+
+gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB :: GLenum
+gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3
+
+gl_GEOMETRY_SUBROUTINE :: GLenum
+gl_GEOMETRY_SUBROUTINE = 0x92EB
+
+gl_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
+gl_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1
+
+gl_GEOMETRY_TEXTURE :: GLenum
+gl_GEOMETRY_TEXTURE = 0x829E
+
+gl_GEOMETRY_VERTICES_OUT :: GLenum
+gl_GEOMETRY_VERTICES_OUT = 0x8916
+
+gl_GEOMETRY_VERTICES_OUT_ARB :: GLenum
+gl_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA
+
+gl_GEOMETRY_VERTICES_OUT_EXT :: GLenum
+gl_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA
+
+gl_GEQUAL :: GLenum
+gl_GEQUAL = 0x0206
+
+gl_GET_TEXTURE_IMAGE_FORMAT :: GLenum
+gl_GET_TEXTURE_IMAGE_FORMAT = 0x8291
+
+gl_GET_TEXTURE_IMAGE_TYPE :: GLenum
+gl_GET_TEXTURE_IMAGE_TYPE = 0x8292
+
+gl_GLOBAL_ALPHA_FACTOR_SUN :: GLenum
+gl_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA
+
+gl_GLOBAL_ALPHA_SUN :: GLenum
+gl_GLOBAL_ALPHA_SUN = 0x81D9
+
+gl_GLYPH_HAS_KERNING_BIT_NV :: GLbitfield
+gl_GLYPH_HAS_KERNING_BIT_NV = 0x100
+
+gl_GLYPH_HEIGHT_BIT_NV :: GLbitfield
+gl_GLYPH_HEIGHT_BIT_NV = 0x02
+
+gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
+gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10
+
+gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV :: GLbitfield
+gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04
+
+gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV :: GLbitfield
+gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08
+
+gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
+gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80
+
+gl_GLYPH_VERTICAL_BEARING_X_BIT_NV :: GLbitfield
+gl_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20
+
+gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV :: GLbitfield
+gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40
+
+gl_GLYPH_WIDTH_BIT_NV :: GLbitfield
+gl_GLYPH_WIDTH_BIT_NV = 0x01
+
+gl_GPU_ADDRESS_NV :: GLenum
+gl_GPU_ADDRESS_NV = 0x8F34
+
+gl_GPU_DISJOINT_EXT :: GLenum
+gl_GPU_DISJOINT_EXT = 0x8FBB
+
+gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX :: GLenum
+gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049
+
+gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX :: GLenum
+gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047
+
+gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX :: GLenum
+gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B
+
+gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVX :: GLenum
+gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A
+
+gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX :: GLenum
+gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048
+
+gl_GPU_OPTIMIZED_QCOM :: GLenum
+gl_GPU_OPTIMIZED_QCOM = 0x8FB2
+
+gl_GREATER :: GLenum
+gl_GREATER = 0x0204
+
+gl_GREEN :: GLenum
+gl_GREEN = 0x1904
+
+gl_GREEN_BIAS :: GLenum
+gl_GREEN_BIAS = 0x0D19
+
+gl_GREEN_BITS :: GLenum
+gl_GREEN_BITS = 0x0D53
+
+gl_GREEN_BIT_ATI :: GLbitfield
+gl_GREEN_BIT_ATI = 0x00000002
+
+gl_GREEN_INTEGER :: GLenum
+gl_GREEN_INTEGER = 0x8D95
+
+gl_GREEN_INTEGER_EXT :: GLenum
+gl_GREEN_INTEGER_EXT = 0x8D95
+
+gl_GREEN_MAX_CLAMP_INGR :: GLenum
+gl_GREEN_MAX_CLAMP_INGR = 0x8565
+
+gl_GREEN_MIN_CLAMP_INGR :: GLenum
+gl_GREEN_MIN_CLAMP_INGR = 0x8561
+
+gl_GREEN_NV :: GLenum
+gl_GREEN_NV = 0x1904
+
+gl_GREEN_SCALE :: GLenum
+gl_GREEN_SCALE = 0x0D18
+
+gl_GUILTY_CONTEXT_RESET :: GLenum
+gl_GUILTY_CONTEXT_RESET = 0x8253
+
+gl_GUILTY_CONTEXT_RESET_ARB :: GLenum
+gl_GUILTY_CONTEXT_RESET_ARB = 0x8253
+
+gl_GUILTY_CONTEXT_RESET_EXT :: GLenum
+gl_GUILTY_CONTEXT_RESET_EXT = 0x8253
+
+gl_GUILTY_CONTEXT_RESET_KHR :: GLenum
+gl_GUILTY_CONTEXT_RESET_KHR = 0x8253
+
+gl_HALF_APPLE :: GLenum
+gl_HALF_APPLE = 0x140B
+
+gl_HALF_BIAS_NEGATE_NV :: GLenum
+gl_HALF_BIAS_NEGATE_NV = 0x853B
+
+gl_HALF_BIAS_NORMAL_NV :: GLenum
+gl_HALF_BIAS_NORMAL_NV = 0x853A
+
+gl_HALF_BIT_ATI :: GLbitfield
+gl_HALF_BIT_ATI = 0x00000008
+
+gl_HALF_FLOAT :: GLenum
+gl_HALF_FLOAT = 0x140B
+
+gl_HALF_FLOAT_ARB :: GLenum
+gl_HALF_FLOAT_ARB = 0x140B
+
+gl_HALF_FLOAT_NV :: GLenum
+gl_HALF_FLOAT_NV = 0x140B
+
+gl_HALF_FLOAT_OES :: GLenum
+gl_HALF_FLOAT_OES = 0x8D61
+
+gl_HARDLIGHT_KHR :: GLenum
+gl_HARDLIGHT_KHR = 0x929B
+
+gl_HARDLIGHT_NV :: GLenum
+gl_HARDLIGHT_NV = 0x929B
+
+gl_HARDMIX_NV :: GLenum
+gl_HARDMIX_NV = 0x92A9
+
+gl_HIGH_FLOAT :: GLenum
+gl_HIGH_FLOAT = 0x8DF2
+
+gl_HIGH_INT :: GLenum
+gl_HIGH_INT = 0x8DF5
+
+gl_HILO16_NV :: GLenum
+gl_HILO16_NV = 0x86F8
+
+gl_HILO8_NV :: GLenum
+gl_HILO8_NV = 0x885E
+
+gl_HILO_NV :: GLenum
+gl_HILO_NV = 0x86F4
+
+gl_HINT_BIT :: GLbitfield
+gl_HINT_BIT = 0x00008000
+
+gl_HISTOGRAM :: GLenum
+gl_HISTOGRAM = 0x8024
+
+gl_HISTOGRAM_ALPHA_SIZE :: GLenum
+gl_HISTOGRAM_ALPHA_SIZE = 0x802B
+
+gl_HISTOGRAM_ALPHA_SIZE_EXT :: GLenum
+gl_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B
+
+gl_HISTOGRAM_BLUE_SIZE :: GLenum
+gl_HISTOGRAM_BLUE_SIZE = 0x802A
+
+gl_HISTOGRAM_BLUE_SIZE_EXT :: GLenum
+gl_HISTOGRAM_BLUE_SIZE_EXT = 0x802A
+
+gl_HISTOGRAM_EXT :: GLenum
+gl_HISTOGRAM_EXT = 0x8024
+
+gl_HISTOGRAM_FORMAT :: GLenum
+gl_HISTOGRAM_FORMAT = 0x8027
+
+gl_HISTOGRAM_FORMAT_EXT :: GLenum
+gl_HISTOGRAM_FORMAT_EXT = 0x8027
+
+gl_HISTOGRAM_GREEN_SIZE :: GLenum
+gl_HISTOGRAM_GREEN_SIZE = 0x8029
+
+gl_HISTOGRAM_GREEN_SIZE_EXT :: GLenum
+gl_HISTOGRAM_GREEN_SIZE_EXT = 0x8029
+
+gl_HISTOGRAM_LUMINANCE_SIZE :: GLenum
+gl_HISTOGRAM_LUMINANCE_SIZE = 0x802C
+
+gl_HISTOGRAM_LUMINANCE_SIZE_EXT :: GLenum
+gl_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C
+
+gl_HISTOGRAM_RED_SIZE :: GLenum
+gl_HISTOGRAM_RED_SIZE = 0x8028
+
+gl_HISTOGRAM_RED_SIZE_EXT :: GLenum
+gl_HISTOGRAM_RED_SIZE_EXT = 0x8028
+
+gl_HISTOGRAM_SINK :: GLenum
+gl_HISTOGRAM_SINK = 0x802D
+
+gl_HISTOGRAM_SINK_EXT :: GLenum
+gl_HISTOGRAM_SINK_EXT = 0x802D
+
+gl_HISTOGRAM_WIDTH :: GLenum
+gl_HISTOGRAM_WIDTH = 0x8026
+
+gl_HISTOGRAM_WIDTH_EXT :: GLenum
+gl_HISTOGRAM_WIDTH_EXT = 0x8026
+
+gl_HI_BIAS_NV :: GLenum
+gl_HI_BIAS_NV = 0x8714
+
+gl_HI_SCALE_NV :: GLenum
+gl_HI_SCALE_NV = 0x870E
+
+gl_HORIZONTAL_LINE_TO_NV :: GLubyte
+gl_HORIZONTAL_LINE_TO_NV = 0x06
+
+gl_HSL_COLOR_KHR :: GLenum
+gl_HSL_COLOR_KHR = 0x92AF
+
+gl_HSL_COLOR_NV :: GLenum
+gl_HSL_COLOR_NV = 0x92AF
+
+gl_HSL_HUE_KHR :: GLenum
+gl_HSL_HUE_KHR = 0x92AD
+
+gl_HSL_HUE_NV :: GLenum
+gl_HSL_HUE_NV = 0x92AD
+
+gl_HSL_LUMINOSITY_KHR :: GLenum
+gl_HSL_LUMINOSITY_KHR = 0x92B0
+
+gl_HSL_LUMINOSITY_NV :: GLenum
+gl_HSL_LUMINOSITY_NV = 0x92B0
+
+gl_HSL_SATURATION_KHR :: GLenum
+gl_HSL_SATURATION_KHR = 0x92AE
+
+gl_HSL_SATURATION_NV :: GLenum
+gl_HSL_SATURATION_NV = 0x92AE
+
+gl_IDENTITY_NV :: GLenum
+gl_IDENTITY_NV = 0x862A
+
+gl_IGNORE_BORDER_HP :: GLenum
+gl_IGNORE_BORDER_HP = 0x8150
+
+gl_IMAGE_1D :: GLenum
+gl_IMAGE_1D = 0x904C
+
+gl_IMAGE_1D_ARRAY :: GLenum
+gl_IMAGE_1D_ARRAY = 0x9052
+
+gl_IMAGE_1D_ARRAY_EXT :: GLenum
+gl_IMAGE_1D_ARRAY_EXT = 0x9052
+
+gl_IMAGE_1D_EXT :: GLenum
+gl_IMAGE_1D_EXT = 0x904C
+
+gl_IMAGE_2D :: GLenum
+gl_IMAGE_2D = 0x904D
+
+gl_IMAGE_2D_ARRAY :: GLenum
+gl_IMAGE_2D_ARRAY = 0x9053
+
+gl_IMAGE_2D_ARRAY_EXT :: GLenum
+gl_IMAGE_2D_ARRAY_EXT = 0x9053
+
+gl_IMAGE_2D_EXT :: GLenum
+gl_IMAGE_2D_EXT = 0x904D
+
+gl_IMAGE_2D_MULTISAMPLE :: GLenum
+gl_IMAGE_2D_MULTISAMPLE = 0x9055
+
+gl_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056
+
+gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
+gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056
+
+gl_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
+gl_IMAGE_2D_MULTISAMPLE_EXT = 0x9055
+
+gl_IMAGE_2D_RECT :: GLenum
+gl_IMAGE_2D_RECT = 0x904F
+
+gl_IMAGE_2D_RECT_EXT :: GLenum
+gl_IMAGE_2D_RECT_EXT = 0x904F
+
+gl_IMAGE_3D :: GLenum
+gl_IMAGE_3D = 0x904E
+
+gl_IMAGE_3D_EXT :: GLenum
+gl_IMAGE_3D_EXT = 0x904E
+
+gl_IMAGE_BINDING_ACCESS :: GLenum
+gl_IMAGE_BINDING_ACCESS = 0x8F3E
+
+gl_IMAGE_BINDING_ACCESS_EXT :: GLenum
+gl_IMAGE_BINDING_ACCESS_EXT = 0x8F3E
+
+gl_IMAGE_BINDING_FORMAT :: GLenum
+gl_IMAGE_BINDING_FORMAT = 0x906E
+
+gl_IMAGE_BINDING_FORMAT_EXT :: GLenum
+gl_IMAGE_BINDING_FORMAT_EXT = 0x906E
+
+gl_IMAGE_BINDING_LAYER :: GLenum
+gl_IMAGE_BINDING_LAYER = 0x8F3D
+
+gl_IMAGE_BINDING_LAYERED :: GLenum
+gl_IMAGE_BINDING_LAYERED = 0x8F3C
+
+gl_IMAGE_BINDING_LAYERED_EXT :: GLenum
+gl_IMAGE_BINDING_LAYERED_EXT = 0x8F3C
+
+gl_IMAGE_BINDING_LAYER_EXT :: GLenum
+gl_IMAGE_BINDING_LAYER_EXT = 0x8F3D
+
+gl_IMAGE_BINDING_LEVEL :: GLenum
+gl_IMAGE_BINDING_LEVEL = 0x8F3B
+
+gl_IMAGE_BINDING_LEVEL_EXT :: GLenum
+gl_IMAGE_BINDING_LEVEL_EXT = 0x8F3B
+
+gl_IMAGE_BINDING_NAME :: GLenum
+gl_IMAGE_BINDING_NAME = 0x8F3A
+
+gl_IMAGE_BINDING_NAME_EXT :: GLenum
+gl_IMAGE_BINDING_NAME_EXT = 0x8F3A
+
+gl_IMAGE_BUFFER :: GLenum
+gl_IMAGE_BUFFER = 0x9051
+
+gl_IMAGE_BUFFER_EXT :: GLenum
+gl_IMAGE_BUFFER_EXT = 0x9051
+
+gl_IMAGE_BUFFER_OES :: GLenum
+gl_IMAGE_BUFFER_OES = 0x9051
+
+gl_IMAGE_CLASS_10_10_10_2 :: GLenum
+gl_IMAGE_CLASS_10_10_10_2 = 0x82C3
+
+gl_IMAGE_CLASS_11_11_10 :: GLenum
+gl_IMAGE_CLASS_11_11_10 = 0x82C2
+
+gl_IMAGE_CLASS_1_X_16 :: GLenum
+gl_IMAGE_CLASS_1_X_16 = 0x82BE
+
+gl_IMAGE_CLASS_1_X_32 :: GLenum
+gl_IMAGE_CLASS_1_X_32 = 0x82BB
+
+gl_IMAGE_CLASS_1_X_8 :: GLenum
+gl_IMAGE_CLASS_1_X_8 = 0x82C1
+
+gl_IMAGE_CLASS_2_X_16 :: GLenum
+gl_IMAGE_CLASS_2_X_16 = 0x82BD
+
+gl_IMAGE_CLASS_2_X_32 :: GLenum
+gl_IMAGE_CLASS_2_X_32 = 0x82BA
+
+gl_IMAGE_CLASS_2_X_8 :: GLenum
+gl_IMAGE_CLASS_2_X_8 = 0x82C0
+
+gl_IMAGE_CLASS_4_X_16 :: GLenum
+gl_IMAGE_CLASS_4_X_16 = 0x82BC
+
+gl_IMAGE_CLASS_4_X_32 :: GLenum
+gl_IMAGE_CLASS_4_X_32 = 0x82B9
+
+gl_IMAGE_CLASS_4_X_8 :: GLenum
+gl_IMAGE_CLASS_4_X_8 = 0x82BF
+
+gl_IMAGE_COMPATIBILITY_CLASS :: GLenum
+gl_IMAGE_COMPATIBILITY_CLASS = 0x82A8
+
+gl_IMAGE_CUBE :: GLenum
+gl_IMAGE_CUBE = 0x9050
+
+gl_IMAGE_CUBE_EXT :: GLenum
+gl_IMAGE_CUBE_EXT = 0x9050
+
+gl_IMAGE_CUBE_MAP_ARRAY :: GLenum
+gl_IMAGE_CUBE_MAP_ARRAY = 0x9054
+
+gl_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054
+
+gl_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
+gl_IMAGE_CUBE_MAP_ARRAY_OES = 0x9054
+
+gl_IMAGE_CUBIC_WEIGHT_HP :: GLenum
+gl_IMAGE_CUBIC_WEIGHT_HP = 0x815E
+
+gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
+gl_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9
+
+gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
+gl_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8
+
+gl_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
+gl_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7
+
+gl_IMAGE_MAG_FILTER_HP :: GLenum
+gl_IMAGE_MAG_FILTER_HP = 0x815C
+
+gl_IMAGE_MIN_FILTER_HP :: GLenum
+gl_IMAGE_MIN_FILTER_HP = 0x815D
+
+gl_IMAGE_PIXEL_FORMAT :: GLenum
+gl_IMAGE_PIXEL_FORMAT = 0x82A9
+
+gl_IMAGE_PIXEL_TYPE :: GLenum
+gl_IMAGE_PIXEL_TYPE = 0x82AA
+
+gl_IMAGE_ROTATE_ANGLE_HP :: GLenum
+gl_IMAGE_ROTATE_ANGLE_HP = 0x8159
+
+gl_IMAGE_ROTATE_ORIGIN_X_HP :: GLenum
+gl_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A
+
+gl_IMAGE_ROTATE_ORIGIN_Y_HP :: GLenum
+gl_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B
+
+gl_IMAGE_SCALE_X_HP :: GLenum
+gl_IMAGE_SCALE_X_HP = 0x8155
+
+gl_IMAGE_SCALE_Y_HP :: GLenum
+gl_IMAGE_SCALE_Y_HP = 0x8156
+
+gl_IMAGE_TEXEL_SIZE :: GLenum
+gl_IMAGE_TEXEL_SIZE = 0x82A7
+
+gl_IMAGE_TRANSFORM_2D_HP :: GLenum
+gl_IMAGE_TRANSFORM_2D_HP = 0x8161
+
+gl_IMAGE_TRANSLATE_X_HP :: GLenum
+gl_IMAGE_TRANSLATE_X_HP = 0x8157
+
+gl_IMAGE_TRANSLATE_Y_HP :: GLenum
+gl_IMAGE_TRANSLATE_Y_HP = 0x8158
+
+gl_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
+gl_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B
+
+gl_IMPLEMENTATION_COLOR_READ_FORMAT_OES :: GLenum
+gl_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B
+
+gl_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
+gl_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A
+
+gl_IMPLEMENTATION_COLOR_READ_TYPE_OES :: GLenum
+gl_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A
+
+gl_INCR :: GLenum
+gl_INCR = 0x1E02
+
+gl_INCR_WRAP :: GLenum
+gl_INCR_WRAP = 0x8507
+
+gl_INCR_WRAP_EXT :: GLenum
+gl_INCR_WRAP_EXT = 0x8507
+
+gl_INCR_WRAP_OES :: GLenum
+gl_INCR_WRAP_OES = 0x8507
+
+gl_INDEX :: GLenum
+gl_INDEX = 0x8222
+
+gl_INDEX_ARRAY :: GLenum
+gl_INDEX_ARRAY = 0x8077
+
+gl_INDEX_ARRAY_ADDRESS_NV :: GLenum
+gl_INDEX_ARRAY_ADDRESS_NV = 0x8F24
+
+gl_INDEX_ARRAY_BUFFER_BINDING :: GLenum
+gl_INDEX_ARRAY_BUFFER_BINDING = 0x8899
+
+gl_INDEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899
+
+gl_INDEX_ARRAY_COUNT_EXT :: GLenum
+gl_INDEX_ARRAY_COUNT_EXT = 0x8087
+
+gl_INDEX_ARRAY_EXT :: GLenum
+gl_INDEX_ARRAY_EXT = 0x8077
+
+gl_INDEX_ARRAY_LENGTH_NV :: GLenum
+gl_INDEX_ARRAY_LENGTH_NV = 0x8F2E
+
+gl_INDEX_ARRAY_LIST_IBM :: GLenum
+gl_INDEX_ARRAY_LIST_IBM = 103073
+
+gl_INDEX_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_INDEX_ARRAY_LIST_STRIDE_IBM = 103083
+
+gl_INDEX_ARRAY_POINTER :: GLenum
+gl_INDEX_ARRAY_POINTER = 0x8091
+
+gl_INDEX_ARRAY_POINTER_EXT :: GLenum
+gl_INDEX_ARRAY_POINTER_EXT = 0x8091
+
+gl_INDEX_ARRAY_STRIDE :: GLenum
+gl_INDEX_ARRAY_STRIDE = 0x8086
+
+gl_INDEX_ARRAY_STRIDE_EXT :: GLenum
+gl_INDEX_ARRAY_STRIDE_EXT = 0x8086
+
+gl_INDEX_ARRAY_TYPE :: GLenum
+gl_INDEX_ARRAY_TYPE = 0x8085
+
+gl_INDEX_ARRAY_TYPE_EXT :: GLenum
+gl_INDEX_ARRAY_TYPE_EXT = 0x8085
+
+gl_INDEX_BITS :: GLenum
+gl_INDEX_BITS = 0x0D51
+
+gl_INDEX_BIT_PGI :: GLbitfield
+gl_INDEX_BIT_PGI = 0x00080000
+
+gl_INDEX_CLEAR_VALUE :: GLenum
+gl_INDEX_CLEAR_VALUE = 0x0C20
+
+gl_INDEX_LOGIC_OP :: GLenum
+gl_INDEX_LOGIC_OP = 0x0BF1
+
+gl_INDEX_MATERIAL_EXT :: GLenum
+gl_INDEX_MATERIAL_EXT = 0x81B8
+
+gl_INDEX_MATERIAL_FACE_EXT :: GLenum
+gl_INDEX_MATERIAL_FACE_EXT = 0x81BA
+
+gl_INDEX_MATERIAL_PARAMETER_EXT :: GLenum
+gl_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9
+
+gl_INDEX_MODE :: GLenum
+gl_INDEX_MODE = 0x0C30
+
+gl_INDEX_OFFSET :: GLenum
+gl_INDEX_OFFSET = 0x0D13
+
+gl_INDEX_SHIFT :: GLenum
+gl_INDEX_SHIFT = 0x0D12
+
+gl_INDEX_TEST_EXT :: GLenum
+gl_INDEX_TEST_EXT = 0x81B5
+
+gl_INDEX_TEST_FUNC_EXT :: GLenum
+gl_INDEX_TEST_FUNC_EXT = 0x81B6
+
+gl_INDEX_TEST_REF_EXT :: GLenum
+gl_INDEX_TEST_REF_EXT = 0x81B7
+
+gl_INDEX_WRITEMASK :: GLenum
+gl_INDEX_WRITEMASK = 0x0C21
+
+gl_INFO_LOG_LENGTH :: GLenum
+gl_INFO_LOG_LENGTH = 0x8B84
+
+gl_INNOCENT_CONTEXT_RESET :: GLenum
+gl_INNOCENT_CONTEXT_RESET = 0x8254
+
+gl_INNOCENT_CONTEXT_RESET_ARB :: GLenum
+gl_INNOCENT_CONTEXT_RESET_ARB = 0x8254
+
+gl_INNOCENT_CONTEXT_RESET_EXT :: GLenum
+gl_INNOCENT_CONTEXT_RESET_EXT = 0x8254
+
+gl_INNOCENT_CONTEXT_RESET_KHR :: GLenum
+gl_INNOCENT_CONTEXT_RESET_KHR = 0x8254
+
+gl_INSTRUMENT_BUFFER_POINTER_SGIX :: GLenum
+gl_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180
+
+gl_INSTRUMENT_MEASUREMENTS_SGIX :: GLenum
+gl_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181
+
+gl_INT :: GLenum
+gl_INT = 0x1404
+
+gl_INT16_NV :: GLenum
+gl_INT16_NV = 0x8FE4
+
+gl_INT16_VEC2_NV :: GLenum
+gl_INT16_VEC2_NV = 0x8FE5
+
+gl_INT16_VEC3_NV :: GLenum
+gl_INT16_VEC3_NV = 0x8FE6
+
+gl_INT16_VEC4_NV :: GLenum
+gl_INT16_VEC4_NV = 0x8FE7
+
+gl_INT64_NV :: GLenum
+gl_INT64_NV = 0x140E
+
+gl_INT64_VEC2_NV :: GLenum
+gl_INT64_VEC2_NV = 0x8FE9
+
+gl_INT64_VEC3_NV :: GLenum
+gl_INT64_VEC3_NV = 0x8FEA
+
+gl_INT64_VEC4_NV :: GLenum
+gl_INT64_VEC4_NV = 0x8FEB
+
+gl_INT8_NV :: GLenum
+gl_INT8_NV = 0x8FE0
+
+gl_INT8_VEC2_NV :: GLenum
+gl_INT8_VEC2_NV = 0x8FE1
+
+gl_INT8_VEC3_NV :: GLenum
+gl_INT8_VEC3_NV = 0x8FE2
+
+gl_INT8_VEC4_NV :: GLenum
+gl_INT8_VEC4_NV = 0x8FE3
+
+gl_INTENSITY :: GLenum
+gl_INTENSITY = 0x8049
+
+gl_INTENSITY12 :: GLenum
+gl_INTENSITY12 = 0x804C
+
+gl_INTENSITY12_EXT :: GLenum
+gl_INTENSITY12_EXT = 0x804C
+
+gl_INTENSITY16 :: GLenum
+gl_INTENSITY16 = 0x804D
+
+gl_INTENSITY16F_ARB :: GLenum
+gl_INTENSITY16F_ARB = 0x881D
+
+gl_INTENSITY16I_EXT :: GLenum
+gl_INTENSITY16I_EXT = 0x8D8B
+
+gl_INTENSITY16UI_EXT :: GLenum
+gl_INTENSITY16UI_EXT = 0x8D79
+
+gl_INTENSITY16_EXT :: GLenum
+gl_INTENSITY16_EXT = 0x804D
+
+gl_INTENSITY16_SNORM :: GLenum
+gl_INTENSITY16_SNORM = 0x901B
+
+gl_INTENSITY32F_ARB :: GLenum
+gl_INTENSITY32F_ARB = 0x8817
+
+gl_INTENSITY32I_EXT :: GLenum
+gl_INTENSITY32I_EXT = 0x8D85
+
+gl_INTENSITY32UI_EXT :: GLenum
+gl_INTENSITY32UI_EXT = 0x8D73
+
+gl_INTENSITY4 :: GLenum
+gl_INTENSITY4 = 0x804A
+
+gl_INTENSITY4_EXT :: GLenum
+gl_INTENSITY4_EXT = 0x804A
+
+gl_INTENSITY8 :: GLenum
+gl_INTENSITY8 = 0x804B
+
+gl_INTENSITY8I_EXT :: GLenum
+gl_INTENSITY8I_EXT = 0x8D91
+
+gl_INTENSITY8UI_EXT :: GLenum
+gl_INTENSITY8UI_EXT = 0x8D7F
+
+gl_INTENSITY8_EXT :: GLenum
+gl_INTENSITY8_EXT = 0x804B
+
+gl_INTENSITY8_SNORM :: GLenum
+gl_INTENSITY8_SNORM = 0x9017
+
+gl_INTENSITY_EXT :: GLenum
+gl_INTENSITY_EXT = 0x8049
+
+gl_INTENSITY_FLOAT16_APPLE :: GLenum
+gl_INTENSITY_FLOAT16_APPLE = 0x881D
+
+gl_INTENSITY_FLOAT16_ATI :: GLenum
+gl_INTENSITY_FLOAT16_ATI = 0x881D
+
+gl_INTENSITY_FLOAT32_APPLE :: GLenum
+gl_INTENSITY_FLOAT32_APPLE = 0x8817
+
+gl_INTENSITY_FLOAT32_ATI :: GLenum
+gl_INTENSITY_FLOAT32_ATI = 0x8817
+
+gl_INTENSITY_SNORM :: GLenum
+gl_INTENSITY_SNORM = 0x9013
+
+gl_INTERLACE_OML :: GLenum
+gl_INTERLACE_OML = 0x8980
+
+gl_INTERLACE_READ_INGR :: GLenum
+gl_INTERLACE_READ_INGR = 0x8568
+
+gl_INTERLACE_READ_OML :: GLenum
+gl_INTERLACE_READ_OML = 0x8981
+
+gl_INTERLACE_SGIX :: GLenum
+gl_INTERLACE_SGIX = 0x8094
+
+gl_INTERLEAVED_ATTRIBS :: GLenum
+gl_INTERLEAVED_ATTRIBS = 0x8C8C
+
+gl_INTERLEAVED_ATTRIBS_EXT :: GLenum
+gl_INTERLEAVED_ATTRIBS_EXT = 0x8C8C
+
+gl_INTERLEAVED_ATTRIBS_NV :: GLenum
+gl_INTERLEAVED_ATTRIBS_NV = 0x8C8C
+
+gl_INTERNALFORMAT_ALPHA_SIZE :: GLenum
+gl_INTERNALFORMAT_ALPHA_SIZE = 0x8274
+
+gl_INTERNALFORMAT_ALPHA_TYPE :: GLenum
+gl_INTERNALFORMAT_ALPHA_TYPE = 0x827B
+
+gl_INTERNALFORMAT_BLUE_SIZE :: GLenum
+gl_INTERNALFORMAT_BLUE_SIZE = 0x8273
+
+gl_INTERNALFORMAT_BLUE_TYPE :: GLenum
+gl_INTERNALFORMAT_BLUE_TYPE = 0x827A
+
+gl_INTERNALFORMAT_DEPTH_SIZE :: GLenum
+gl_INTERNALFORMAT_DEPTH_SIZE = 0x8275
+
+gl_INTERNALFORMAT_DEPTH_TYPE :: GLenum
+gl_INTERNALFORMAT_DEPTH_TYPE = 0x827C
+
+gl_INTERNALFORMAT_GREEN_SIZE :: GLenum
+gl_INTERNALFORMAT_GREEN_SIZE = 0x8272
+
+gl_INTERNALFORMAT_GREEN_TYPE :: GLenum
+gl_INTERNALFORMAT_GREEN_TYPE = 0x8279
+
+gl_INTERNALFORMAT_PREFERRED :: GLenum
+gl_INTERNALFORMAT_PREFERRED = 0x8270
+
+gl_INTERNALFORMAT_RED_SIZE :: GLenum
+gl_INTERNALFORMAT_RED_SIZE = 0x8271
+
+gl_INTERNALFORMAT_RED_TYPE :: GLenum
+gl_INTERNALFORMAT_RED_TYPE = 0x8278
+
+gl_INTERNALFORMAT_SHARED_SIZE :: GLenum
+gl_INTERNALFORMAT_SHARED_SIZE = 0x8277
+
+gl_INTERNALFORMAT_STENCIL_SIZE :: GLenum
+gl_INTERNALFORMAT_STENCIL_SIZE = 0x8276
+
+gl_INTERNALFORMAT_STENCIL_TYPE :: GLenum
+gl_INTERNALFORMAT_STENCIL_TYPE = 0x827D
+
+gl_INTERNALFORMAT_SUPPORTED :: GLenum
+gl_INTERNALFORMAT_SUPPORTED = 0x826F
+
+gl_INTERPOLATE :: GLenum
+gl_INTERPOLATE = 0x8575
+
+gl_INTERPOLATE_ARB :: GLenum
+gl_INTERPOLATE_ARB = 0x8575
+
+gl_INTERPOLATE_EXT :: GLenum
+gl_INTERPOLATE_EXT = 0x8575
+
+gl_INT_10_10_10_2_OES :: GLenum
+gl_INT_10_10_10_2_OES = 0x8DF7
+
+gl_INT_2_10_10_10_REV :: GLenum
+gl_INT_2_10_10_10_REV = 0x8D9F
+
+gl_INT_IMAGE_1D :: GLenum
+gl_INT_IMAGE_1D = 0x9057
+
+gl_INT_IMAGE_1D_ARRAY :: GLenum
+gl_INT_IMAGE_1D_ARRAY = 0x905D
+
+gl_INT_IMAGE_1D_ARRAY_EXT :: GLenum
+gl_INT_IMAGE_1D_ARRAY_EXT = 0x905D
+
+gl_INT_IMAGE_1D_EXT :: GLenum
+gl_INT_IMAGE_1D_EXT = 0x9057
+
+gl_INT_IMAGE_2D :: GLenum
+gl_INT_IMAGE_2D = 0x9058
+
+gl_INT_IMAGE_2D_ARRAY :: GLenum
+gl_INT_IMAGE_2D_ARRAY = 0x905E
+
+gl_INT_IMAGE_2D_ARRAY_EXT :: GLenum
+gl_INT_IMAGE_2D_ARRAY_EXT = 0x905E
+
+gl_INT_IMAGE_2D_EXT :: GLenum
+gl_INT_IMAGE_2D_EXT = 0x9058
+
+gl_INT_IMAGE_2D_MULTISAMPLE :: GLenum
+gl_INT_IMAGE_2D_MULTISAMPLE = 0x9060
+
+gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061
+
+gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
+gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061
+
+gl_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
+gl_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060
+
+gl_INT_IMAGE_2D_RECT :: GLenum
+gl_INT_IMAGE_2D_RECT = 0x905A
+
+gl_INT_IMAGE_2D_RECT_EXT :: GLenum
+gl_INT_IMAGE_2D_RECT_EXT = 0x905A
+
+gl_INT_IMAGE_3D :: GLenum
+gl_INT_IMAGE_3D = 0x9059
+
+gl_INT_IMAGE_3D_EXT :: GLenum
+gl_INT_IMAGE_3D_EXT = 0x9059
+
+gl_INT_IMAGE_BUFFER :: GLenum
+gl_INT_IMAGE_BUFFER = 0x905C
+
+gl_INT_IMAGE_BUFFER_EXT :: GLenum
+gl_INT_IMAGE_BUFFER_EXT = 0x905C
+
+gl_INT_IMAGE_BUFFER_OES :: GLenum
+gl_INT_IMAGE_BUFFER_OES = 0x905C
+
+gl_INT_IMAGE_CUBE :: GLenum
+gl_INT_IMAGE_CUBE = 0x905B
+
+gl_INT_IMAGE_CUBE_EXT :: GLenum
+gl_INT_IMAGE_CUBE_EXT = 0x905B
+
+gl_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
+gl_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F
+
+gl_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F
+
+gl_INT_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
+gl_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x905F
+
+gl_INT_SAMPLER_1D :: GLenum
+gl_INT_SAMPLER_1D = 0x8DC9
+
+gl_INT_SAMPLER_1D_ARRAY :: GLenum
+gl_INT_SAMPLER_1D_ARRAY = 0x8DCE
+
+gl_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
+gl_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE
+
+gl_INT_SAMPLER_1D_EXT :: GLenum
+gl_INT_SAMPLER_1D_EXT = 0x8DC9
+
+gl_INT_SAMPLER_2D :: GLenum
+gl_INT_SAMPLER_2D = 0x8DCA
+
+gl_INT_SAMPLER_2D_ARRAY :: GLenum
+gl_INT_SAMPLER_2D_ARRAY = 0x8DCF
+
+gl_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
+gl_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF
+
+gl_INT_SAMPLER_2D_EXT :: GLenum
+gl_INT_SAMPLER_2D_EXT = 0x8DCA
+
+gl_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
+gl_INT_SAMPLER_2D_MULTISAMPLE = 0x9109
+
+gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C
+
+gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
+gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C
+
+gl_INT_SAMPLER_2D_RECT :: GLenum
+gl_INT_SAMPLER_2D_RECT = 0x8DCD
+
+gl_INT_SAMPLER_2D_RECT_EXT :: GLenum
+gl_INT_SAMPLER_2D_RECT_EXT = 0x8DCD
+
+gl_INT_SAMPLER_3D :: GLenum
+gl_INT_SAMPLER_3D = 0x8DCB
+
+gl_INT_SAMPLER_3D_EXT :: GLenum
+gl_INT_SAMPLER_3D_EXT = 0x8DCB
+
+gl_INT_SAMPLER_BUFFER :: GLenum
+gl_INT_SAMPLER_BUFFER = 0x8DD0
+
+gl_INT_SAMPLER_BUFFER_AMD :: GLenum
+gl_INT_SAMPLER_BUFFER_AMD = 0x9002
+
+gl_INT_SAMPLER_BUFFER_EXT :: GLenum
+gl_INT_SAMPLER_BUFFER_EXT = 0x8DD0
+
+gl_INT_SAMPLER_BUFFER_OES :: GLenum
+gl_INT_SAMPLER_BUFFER_OES = 0x8DD0
+
+gl_INT_SAMPLER_CUBE :: GLenum
+gl_INT_SAMPLER_CUBE = 0x8DCC
+
+gl_INT_SAMPLER_CUBE_EXT :: GLenum
+gl_INT_SAMPLER_CUBE_EXT = 0x8DCC
+
+gl_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
+gl_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E
+
+gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
+gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E
+
+gl_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E
+
+gl_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
+gl_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900E
+
+gl_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
+gl_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57
+
+gl_INT_VEC2 :: GLenum
+gl_INT_VEC2 = 0x8B53
+
+gl_INT_VEC2_ARB :: GLenum
+gl_INT_VEC2_ARB = 0x8B53
+
+gl_INT_VEC3 :: GLenum
+gl_INT_VEC3 = 0x8B54
+
+gl_INT_VEC3_ARB :: GLenum
+gl_INT_VEC3_ARB = 0x8B54
+
+gl_INT_VEC4 :: GLenum
+gl_INT_VEC4 = 0x8B55
+
+gl_INT_VEC4_ARB :: GLenum
+gl_INT_VEC4_ARB = 0x8B55
+
+gl_INVALID_ENUM :: GLenum
+gl_INVALID_ENUM = 0x0500
+
+gl_INVALID_FRAMEBUFFER_OPERATION :: GLenum
+gl_INVALID_FRAMEBUFFER_OPERATION = 0x0506
+
+gl_INVALID_FRAMEBUFFER_OPERATION_EXT :: GLenum
+gl_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506
+
+gl_INVALID_FRAMEBUFFER_OPERATION_OES :: GLenum
+gl_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506
+
+gl_INVALID_INDEX :: GLuint
+gl_INVALID_INDEX = 0xFFFFFFFF
+
+gl_INVALID_OPERATION :: GLenum
+gl_INVALID_OPERATION = 0x0502
+
+gl_INVALID_VALUE :: GLenum
+gl_INVALID_VALUE = 0x0501
+
+gl_INVARIANT_DATATYPE_EXT :: GLenum
+gl_INVARIANT_DATATYPE_EXT = 0x87EB
+
+gl_INVARIANT_EXT :: GLenum
+gl_INVARIANT_EXT = 0x87C2
+
+gl_INVARIANT_VALUE_EXT :: GLenum
+gl_INVARIANT_VALUE_EXT = 0x87EA
+
+gl_INVERSE_NV :: GLenum
+gl_INVERSE_NV = 0x862B
+
+gl_INVERSE_TRANSPOSE_NV :: GLenum
+gl_INVERSE_TRANSPOSE_NV = 0x862D
+
+gl_INVERT :: GLenum
+gl_INVERT = 0x150A
+
+gl_INVERTED_SCREEN_W_REND :: GLenum
+gl_INVERTED_SCREEN_W_REND = 0x8491
+
+gl_INVERT_OVG_NV :: GLenum
+gl_INVERT_OVG_NV = 0x92B4
+
+gl_INVERT_RGB_NV :: GLenum
+gl_INVERT_RGB_NV = 0x92A3
+
+gl_IR_INSTRUMENT1_SGIX :: GLenum
+gl_IR_INSTRUMENT1_SGIX = 0x817F
+
+gl_ISOLINES :: GLenum
+gl_ISOLINES = 0x8E7A
+
+gl_ISOLINES_EXT :: GLenum
+gl_ISOLINES_EXT = 0x8E7A
+
+gl_ISOLINES_OES :: GLenum
+gl_ISOLINES_OES = 0x8E7A
+
+gl_IS_PER_PATCH :: GLenum
+gl_IS_PER_PATCH = 0x92E7
+
+gl_IS_PER_PATCH_EXT :: GLenum
+gl_IS_PER_PATCH_EXT = 0x92E7
+
+gl_IS_PER_PATCH_OES :: GLenum
+gl_IS_PER_PATCH_OES = 0x92E7
+
+gl_IS_ROW_MAJOR :: GLenum
+gl_IS_ROW_MAJOR = 0x9300
+
+gl_ITALIC_BIT_NV :: GLbitfield
+gl_ITALIC_BIT_NV = 0x02
+
+gl_IUI_N3F_V2F_EXT :: GLenum
+gl_IUI_N3F_V2F_EXT = 0x81AF
+
+gl_IUI_N3F_V3F_EXT :: GLenum
+gl_IUI_N3F_V3F_EXT = 0x81B0
+
+gl_IUI_V2F_EXT :: GLenum
+gl_IUI_V2F_EXT = 0x81AD
+
+gl_IUI_V3F_EXT :: GLenum
+gl_IUI_V3F_EXT = 0x81AE
+
+gl_KEEP :: GLenum
+gl_KEEP = 0x1E00
+
+gl_LARGE_CCW_ARC_TO_NV :: GLubyte
+gl_LARGE_CCW_ARC_TO_NV = 0x16
+
+gl_LARGE_CW_ARC_TO_NV :: GLubyte
+gl_LARGE_CW_ARC_TO_NV = 0x18
+
+gl_LAST_VERTEX_CONVENTION :: GLenum
+gl_LAST_VERTEX_CONVENTION = 0x8E4E
+
+gl_LAST_VERTEX_CONVENTION_EXT :: GLenum
+gl_LAST_VERTEX_CONVENTION_EXT = 0x8E4E
+
+gl_LAST_VERTEX_CONVENTION_OES :: GLenum
+gl_LAST_VERTEX_CONVENTION_OES = 0x8E4E
+
+gl_LAST_VIDEO_CAPTURE_STATUS_NV :: GLenum
+gl_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027
+
+gl_LAYER_NV :: GLenum
+gl_LAYER_NV = 0x8DAA
+
+gl_LAYER_PROVOKING_VERTEX :: GLenum
+gl_LAYER_PROVOKING_VERTEX = 0x825E
+
+gl_LAYER_PROVOKING_VERTEX_EXT :: GLenum
+gl_LAYER_PROVOKING_VERTEX_EXT = 0x825E
+
+gl_LAYER_PROVOKING_VERTEX_OES :: GLenum
+gl_LAYER_PROVOKING_VERTEX_OES = 0x825E
+
+gl_LAYOUT_DEFAULT_INTEL :: GLenum
+gl_LAYOUT_DEFAULT_INTEL = 0
+
+gl_LAYOUT_LINEAR_CPU_CACHED_INTEL :: GLenum
+gl_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2
+
+gl_LAYOUT_LINEAR_INTEL :: GLenum
+gl_LAYOUT_LINEAR_INTEL = 1
+
+gl_LEFT :: GLenum
+gl_LEFT = 0x0406
+
+gl_LEQUAL :: GLenum
+gl_LEQUAL = 0x0203
+
+gl_LERP_ATI :: GLenum
+gl_LERP_ATI = 0x8969
+
+gl_LESS :: GLenum
+gl_LESS = 0x0201
+
+gl_LIGHT0 :: GLenum
+gl_LIGHT0 = 0x4000
+
+gl_LIGHT1 :: GLenum
+gl_LIGHT1 = 0x4001
+
+gl_LIGHT2 :: GLenum
+gl_LIGHT2 = 0x4002
+
+gl_LIGHT3 :: GLenum
+gl_LIGHT3 = 0x4003
+
+gl_LIGHT4 :: GLenum
+gl_LIGHT4 = 0x4004
+
+gl_LIGHT5 :: GLenum
+gl_LIGHT5 = 0x4005
+
+gl_LIGHT6 :: GLenum
+gl_LIGHT6 = 0x4006
+
+gl_LIGHT7 :: GLenum
+gl_LIGHT7 = 0x4007
+
+gl_LIGHTEN_KHR :: GLenum
+gl_LIGHTEN_KHR = 0x9298
+
+gl_LIGHTEN_NV :: GLenum
+gl_LIGHTEN_NV = 0x9298
+
+gl_LIGHTING :: GLenum
+gl_LIGHTING = 0x0B50
+
+gl_LIGHTING_BIT :: GLbitfield
+gl_LIGHTING_BIT = 0x00000040
+
+gl_LIGHT_ENV_MODE_SGIX :: GLenum
+gl_LIGHT_ENV_MODE_SGIX = 0x8407
+
+gl_LIGHT_MODEL_AMBIENT :: GLenum
+gl_LIGHT_MODEL_AMBIENT = 0x0B53
+
+gl_LIGHT_MODEL_COLOR_CONTROL :: GLenum
+gl_LIGHT_MODEL_COLOR_CONTROL = 0x81F8
+
+gl_LIGHT_MODEL_COLOR_CONTROL_EXT :: GLenum
+gl_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8
+
+gl_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
+gl_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51
+
+gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLE :: GLenum
+gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0
+
+gl_LIGHT_MODEL_TWO_SIDE :: GLenum
+gl_LIGHT_MODEL_TWO_SIDE = 0x0B52
+
+gl_LINE :: GLenum
+gl_LINE = 0x1B01
+
+gl_LINEAR :: GLenum
+gl_LINEAR = 0x2601
+
+gl_LINEARBURN_NV :: GLenum
+gl_LINEARBURN_NV = 0x92A5
+
+gl_LINEARDODGE_NV :: GLenum
+gl_LINEARDODGE_NV = 0x92A4
+
+gl_LINEARLIGHT_NV :: GLenum
+gl_LINEARLIGHT_NV = 0x92A7
+
+gl_LINEAR_ATTENUATION :: GLenum
+gl_LINEAR_ATTENUATION = 0x1208
+
+gl_LINEAR_CLIPMAP_LINEAR_SGIX :: GLenum
+gl_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170
+
+gl_LINEAR_CLIPMAP_NEAREST_SGIX :: GLenum
+gl_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F
+
+gl_LINEAR_DETAIL_ALPHA_SGIS :: GLenum
+gl_LINEAR_DETAIL_ALPHA_SGIS = 0x8098
+
+gl_LINEAR_DETAIL_COLOR_SGIS :: GLenum
+gl_LINEAR_DETAIL_COLOR_SGIS = 0x8099
+
+gl_LINEAR_DETAIL_SGIS :: GLenum
+gl_LINEAR_DETAIL_SGIS = 0x8097
+
+gl_LINEAR_MIPMAP_LINEAR :: GLenum
+gl_LINEAR_MIPMAP_LINEAR = 0x2703
+
+gl_LINEAR_MIPMAP_NEAREST :: GLenum
+gl_LINEAR_MIPMAP_NEAREST = 0x2701
+
+gl_LINEAR_SHARPEN_ALPHA_SGIS :: GLenum
+gl_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE
+
+gl_LINEAR_SHARPEN_COLOR_SGIS :: GLenum
+gl_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF
+
+gl_LINEAR_SHARPEN_SGIS :: GLenum
+gl_LINEAR_SHARPEN_SGIS = 0x80AD
+
+gl_LINES :: GLenum
+gl_LINES = 0x0001
+
+gl_LINES_ADJACENCY :: GLenum
+gl_LINES_ADJACENCY = 0x000A
+
+gl_LINES_ADJACENCY_ARB :: GLenum
+gl_LINES_ADJACENCY_ARB = 0x000A
+
+gl_LINES_ADJACENCY_EXT :: GLenum
+gl_LINES_ADJACENCY_EXT = 0x000A
+
+gl_LINES_ADJACENCY_OES :: GLenum
+gl_LINES_ADJACENCY_OES = 0x000A
+
+gl_LINE_BIT :: GLbitfield
+gl_LINE_BIT = 0x00000004
+
+gl_LINE_LOOP :: GLenum
+gl_LINE_LOOP = 0x0002
+
+gl_LINE_QUALITY_HINT_SGIX :: GLenum
+gl_LINE_QUALITY_HINT_SGIX = 0x835B
+
+gl_LINE_RESET_TOKEN :: GLenum
+gl_LINE_RESET_TOKEN = 0x0707
+
+gl_LINE_SMOOTH :: GLenum
+gl_LINE_SMOOTH = 0x0B20
+
+gl_LINE_SMOOTH_HINT :: GLenum
+gl_LINE_SMOOTH_HINT = 0x0C52
+
+gl_LINE_STIPPLE :: GLenum
+gl_LINE_STIPPLE = 0x0B24
+
+gl_LINE_STIPPLE_PATTERN :: GLenum
+gl_LINE_STIPPLE_PATTERN = 0x0B25
+
+gl_LINE_STIPPLE_REPEAT :: GLenum
+gl_LINE_STIPPLE_REPEAT = 0x0B26
+
+gl_LINE_STRIP :: GLenum
+gl_LINE_STRIP = 0x0003
+
+gl_LINE_STRIP_ADJACENCY :: GLenum
+gl_LINE_STRIP_ADJACENCY = 0x000B
+
+gl_LINE_STRIP_ADJACENCY_ARB :: GLenum
+gl_LINE_STRIP_ADJACENCY_ARB = 0x000B
+
+gl_LINE_STRIP_ADJACENCY_EXT :: GLenum
+gl_LINE_STRIP_ADJACENCY_EXT = 0x000B
+
+gl_LINE_STRIP_ADJACENCY_OES :: GLenum
+gl_LINE_STRIP_ADJACENCY_OES = 0x000B
+
+gl_LINE_TOKEN :: GLenum
+gl_LINE_TOKEN = 0x0702
+
+gl_LINE_TO_NV :: GLubyte
+gl_LINE_TO_NV = 0x04
+
+gl_LINE_WIDTH :: GLenum
+gl_LINE_WIDTH = 0x0B21
+
+gl_LINE_WIDTH_GRANULARITY :: GLenum
+gl_LINE_WIDTH_GRANULARITY = 0x0B23
+
+gl_LINE_WIDTH_RANGE :: GLenum
+gl_LINE_WIDTH_RANGE = 0x0B22
+
+gl_LINK_STATUS :: GLenum
+gl_LINK_STATUS = 0x8B82
+
+gl_LIST_BASE :: GLenum
+gl_LIST_BASE = 0x0B32
+
+gl_LIST_BIT :: GLbitfield
+gl_LIST_BIT = 0x00020000
+
+gl_LIST_INDEX :: GLenum
+gl_LIST_INDEX = 0x0B33
+
+gl_LIST_MODE :: GLenum
+gl_LIST_MODE = 0x0B30
+
+gl_LIST_PRIORITY_SGIX :: GLenum
+gl_LIST_PRIORITY_SGIX = 0x8182
+
+gl_LOAD :: GLenum
+gl_LOAD = 0x0101
+
+gl_LOCAL_CONSTANT_DATATYPE_EXT :: GLenum
+gl_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED
+
+gl_LOCAL_CONSTANT_EXT :: GLenum
+gl_LOCAL_CONSTANT_EXT = 0x87C3
+
+gl_LOCAL_CONSTANT_VALUE_EXT :: GLenum
+gl_LOCAL_CONSTANT_VALUE_EXT = 0x87EC
+
+gl_LOCAL_EXT :: GLenum
+gl_LOCAL_EXT = 0x87C4
+
+gl_LOCATION :: GLenum
+gl_LOCATION = 0x930E
+
+gl_LOCATION_COMPONENT :: GLenum
+gl_LOCATION_COMPONENT = 0x934A
+
+gl_LOCATION_INDEX :: GLenum
+gl_LOCATION_INDEX = 0x930F
+
+gl_LOGIC_OP :: GLenum
+gl_LOGIC_OP = 0x0BF1
+
+gl_LOGIC_OP_MODE :: GLenum
+gl_LOGIC_OP_MODE = 0x0BF0
+
+gl_LOSE_CONTEXT_ON_RESET :: GLenum
+gl_LOSE_CONTEXT_ON_RESET = 0x8252
+
+gl_LOSE_CONTEXT_ON_RESET_ARB :: GLenum
+gl_LOSE_CONTEXT_ON_RESET_ARB = 0x8252
+
+gl_LOSE_CONTEXT_ON_RESET_EXT :: GLenum
+gl_LOSE_CONTEXT_ON_RESET_EXT = 0x8252
+
+gl_LOSE_CONTEXT_ON_RESET_KHR :: GLenum
+gl_LOSE_CONTEXT_ON_RESET_KHR = 0x8252
+
+gl_LOWER_LEFT :: GLenum
+gl_LOWER_LEFT = 0x8CA1
+
+gl_LOW_FLOAT :: GLenum
+gl_LOW_FLOAT = 0x8DF0
+
+gl_LOW_INT :: GLenum
+gl_LOW_INT = 0x8DF3
+
+gl_LO_BIAS_NV :: GLenum
+gl_LO_BIAS_NV = 0x8715
+
+gl_LO_SCALE_NV :: GLenum
+gl_LO_SCALE_NV = 0x870F
+
+gl_LUMINANCE :: GLenum
+gl_LUMINANCE = 0x1909
+
+gl_LUMINANCE12 :: GLenum
+gl_LUMINANCE12 = 0x8041
+
+gl_LUMINANCE12_ALPHA12 :: GLenum
+gl_LUMINANCE12_ALPHA12 = 0x8047
+
+gl_LUMINANCE12_ALPHA12_EXT :: GLenum
+gl_LUMINANCE12_ALPHA12_EXT = 0x8047
+
+gl_LUMINANCE12_ALPHA4 :: GLenum
+gl_LUMINANCE12_ALPHA4 = 0x8046
+
+gl_LUMINANCE12_ALPHA4_EXT :: GLenum
+gl_LUMINANCE12_ALPHA4_EXT = 0x8046
+
+gl_LUMINANCE12_EXT :: GLenum
+gl_LUMINANCE12_EXT = 0x8041
+
+gl_LUMINANCE16 :: GLenum
+gl_LUMINANCE16 = 0x8042
+
+gl_LUMINANCE16F_ARB :: GLenum
+gl_LUMINANCE16F_ARB = 0x881E
+
+gl_LUMINANCE16F_EXT :: GLenum
+gl_LUMINANCE16F_EXT = 0x881E
+
+gl_LUMINANCE16I_EXT :: GLenum
+gl_LUMINANCE16I_EXT = 0x8D8C
+
+gl_LUMINANCE16UI_EXT :: GLenum
+gl_LUMINANCE16UI_EXT = 0x8D7A
+
+gl_LUMINANCE16_ALPHA16 :: GLenum
+gl_LUMINANCE16_ALPHA16 = 0x8048
+
+gl_LUMINANCE16_ALPHA16_EXT :: GLenum
+gl_LUMINANCE16_ALPHA16_EXT = 0x8048
+
+gl_LUMINANCE16_ALPHA16_SNORM :: GLenum
+gl_LUMINANCE16_ALPHA16_SNORM = 0x901A
+
+gl_LUMINANCE16_EXT :: GLenum
+gl_LUMINANCE16_EXT = 0x8042
+
+gl_LUMINANCE16_SNORM :: GLenum
+gl_LUMINANCE16_SNORM = 0x9019
+
+gl_LUMINANCE32F_ARB :: GLenum
+gl_LUMINANCE32F_ARB = 0x8818
+
+gl_LUMINANCE32F_EXT :: GLenum
+gl_LUMINANCE32F_EXT = 0x8818
+
+gl_LUMINANCE32I_EXT :: GLenum
+gl_LUMINANCE32I_EXT = 0x8D86
+
+gl_LUMINANCE32UI_EXT :: GLenum
+gl_LUMINANCE32UI_EXT = 0x8D74
+
+gl_LUMINANCE4 :: GLenum
+gl_LUMINANCE4 = 0x803F
+
+gl_LUMINANCE4_ALPHA4 :: GLenum
+gl_LUMINANCE4_ALPHA4 = 0x8043
+
+gl_LUMINANCE4_ALPHA4_EXT :: GLenum
+gl_LUMINANCE4_ALPHA4_EXT = 0x8043
+
+gl_LUMINANCE4_ALPHA4_OES :: GLenum
+gl_LUMINANCE4_ALPHA4_OES = 0x8043
+
+gl_LUMINANCE4_EXT :: GLenum
+gl_LUMINANCE4_EXT = 0x803F
+
+gl_LUMINANCE6_ALPHA2 :: GLenum
+gl_LUMINANCE6_ALPHA2 = 0x8044
+
+gl_LUMINANCE6_ALPHA2_EXT :: GLenum
+gl_LUMINANCE6_ALPHA2_EXT = 0x8044
+
+gl_LUMINANCE8 :: GLenum
+gl_LUMINANCE8 = 0x8040
+
+gl_LUMINANCE8I_EXT :: GLenum
+gl_LUMINANCE8I_EXT = 0x8D92
+
+gl_LUMINANCE8UI_EXT :: GLenum
+gl_LUMINANCE8UI_EXT = 0x8D80
+
+gl_LUMINANCE8_ALPHA8 :: GLenum
+gl_LUMINANCE8_ALPHA8 = 0x8045
+
+gl_LUMINANCE8_ALPHA8_EXT :: GLenum
+gl_LUMINANCE8_ALPHA8_EXT = 0x8045
+
+gl_LUMINANCE8_ALPHA8_OES :: GLenum
+gl_LUMINANCE8_ALPHA8_OES = 0x8045
+
+gl_LUMINANCE8_ALPHA8_SNORM :: GLenum
+gl_LUMINANCE8_ALPHA8_SNORM = 0x9016
+
+gl_LUMINANCE8_EXT :: GLenum
+gl_LUMINANCE8_EXT = 0x8040
+
+gl_LUMINANCE8_OES :: GLenum
+gl_LUMINANCE8_OES = 0x8040
+
+gl_LUMINANCE8_SNORM :: GLenum
+gl_LUMINANCE8_SNORM = 0x9015
+
+gl_LUMINANCE_ALPHA :: GLenum
+gl_LUMINANCE_ALPHA = 0x190A
+
+gl_LUMINANCE_ALPHA16F_ARB :: GLenum
+gl_LUMINANCE_ALPHA16F_ARB = 0x881F
+
+gl_LUMINANCE_ALPHA16F_EXT :: GLenum
+gl_LUMINANCE_ALPHA16F_EXT = 0x881F
+
+gl_LUMINANCE_ALPHA16I_EXT :: GLenum
+gl_LUMINANCE_ALPHA16I_EXT = 0x8D8D
+
+gl_LUMINANCE_ALPHA16UI_EXT :: GLenum
+gl_LUMINANCE_ALPHA16UI_EXT = 0x8D7B
+
+gl_LUMINANCE_ALPHA32F_ARB :: GLenum
+gl_LUMINANCE_ALPHA32F_ARB = 0x8819
+
+gl_LUMINANCE_ALPHA32F_EXT :: GLenum
+gl_LUMINANCE_ALPHA32F_EXT = 0x8819
+
+gl_LUMINANCE_ALPHA32I_EXT :: GLenum
+gl_LUMINANCE_ALPHA32I_EXT = 0x8D87
+
+gl_LUMINANCE_ALPHA32UI_EXT :: GLenum
+gl_LUMINANCE_ALPHA32UI_EXT = 0x8D75
+
+gl_LUMINANCE_ALPHA8I_EXT :: GLenum
+gl_LUMINANCE_ALPHA8I_EXT = 0x8D93
+
+gl_LUMINANCE_ALPHA8UI_EXT :: GLenum
+gl_LUMINANCE_ALPHA8UI_EXT = 0x8D81
+
+gl_LUMINANCE_ALPHA_FLOAT16_APPLE :: GLenum
+gl_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F
+
+gl_LUMINANCE_ALPHA_FLOAT16_ATI :: GLenum
+gl_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F
+
+gl_LUMINANCE_ALPHA_FLOAT32_APPLE :: GLenum
+gl_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819
+
+gl_LUMINANCE_ALPHA_FLOAT32_ATI :: GLenum
+gl_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819
+
+gl_LUMINANCE_ALPHA_INTEGER_EXT :: GLenum
+gl_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D
+
+gl_LUMINANCE_ALPHA_SNORM :: GLenum
+gl_LUMINANCE_ALPHA_SNORM = 0x9012
+
+gl_LUMINANCE_FLOAT16_APPLE :: GLenum
+gl_LUMINANCE_FLOAT16_APPLE = 0x881E
+
+gl_LUMINANCE_FLOAT16_ATI :: GLenum
+gl_LUMINANCE_FLOAT16_ATI = 0x881E
+
+gl_LUMINANCE_FLOAT32_APPLE :: GLenum
+gl_LUMINANCE_FLOAT32_APPLE = 0x8818
+
+gl_LUMINANCE_FLOAT32_ATI :: GLenum
+gl_LUMINANCE_FLOAT32_ATI = 0x8818
+
+gl_LUMINANCE_INTEGER_EXT :: GLenum
+gl_LUMINANCE_INTEGER_EXT = 0x8D9C
+
+gl_LUMINANCE_SNORM :: GLenum
+gl_LUMINANCE_SNORM = 0x9011
+
+gl_MAD_ATI :: GLenum
+gl_MAD_ATI = 0x8968
+
+gl_MAGNITUDE_BIAS_NV :: GLenum
+gl_MAGNITUDE_BIAS_NV = 0x8718
+
+gl_MAGNITUDE_SCALE_NV :: GLenum
+gl_MAGNITUDE_SCALE_NV = 0x8712
+
+gl_MAJOR_VERSION :: GLenum
+gl_MAJOR_VERSION = 0x821B
+
+gl_MALI_PROGRAM_BINARY_ARM :: GLenum
+gl_MALI_PROGRAM_BINARY_ARM = 0x8F61
+
+gl_MALI_SHADER_BINARY_ARM :: GLenum
+gl_MALI_SHADER_BINARY_ARM = 0x8F60
+
+gl_MANUAL_GENERATE_MIPMAP :: GLenum
+gl_MANUAL_GENERATE_MIPMAP = 0x8294
+
+gl_MAP1_BINORMAL_EXT :: GLenum
+gl_MAP1_BINORMAL_EXT = 0x8446
+
+gl_MAP1_COLOR_4 :: GLenum
+gl_MAP1_COLOR_4 = 0x0D90
+
+gl_MAP1_GRID_DOMAIN :: GLenum
+gl_MAP1_GRID_DOMAIN = 0x0DD0
+
+gl_MAP1_GRID_SEGMENTS :: GLenum
+gl_MAP1_GRID_SEGMENTS = 0x0DD1
+
+gl_MAP1_INDEX :: GLenum
+gl_MAP1_INDEX = 0x0D91
+
+gl_MAP1_NORMAL :: GLenum
+gl_MAP1_NORMAL = 0x0D92
+
+gl_MAP1_TANGENT_EXT :: GLenum
+gl_MAP1_TANGENT_EXT = 0x8444
+
+gl_MAP1_TEXTURE_COORD_1 :: GLenum
+gl_MAP1_TEXTURE_COORD_1 = 0x0D93
+
+gl_MAP1_TEXTURE_COORD_2 :: GLenum
+gl_MAP1_TEXTURE_COORD_2 = 0x0D94
+
+gl_MAP1_TEXTURE_COORD_3 :: GLenum
+gl_MAP1_TEXTURE_COORD_3 = 0x0D95
+
+gl_MAP1_TEXTURE_COORD_4 :: GLenum
+gl_MAP1_TEXTURE_COORD_4 = 0x0D96
+
+gl_MAP1_VERTEX_3 :: GLenum
+gl_MAP1_VERTEX_3 = 0x0D97
+
+gl_MAP1_VERTEX_4 :: GLenum
+gl_MAP1_VERTEX_4 = 0x0D98
+
+gl_MAP1_VERTEX_ATTRIB0_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660
+
+gl_MAP1_VERTEX_ATTRIB10_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A
+
+gl_MAP1_VERTEX_ATTRIB11_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B
+
+gl_MAP1_VERTEX_ATTRIB12_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C
+
+gl_MAP1_VERTEX_ATTRIB13_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D
+
+gl_MAP1_VERTEX_ATTRIB14_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E
+
+gl_MAP1_VERTEX_ATTRIB15_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F
+
+gl_MAP1_VERTEX_ATTRIB1_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661
+
+gl_MAP1_VERTEX_ATTRIB2_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662
+
+gl_MAP1_VERTEX_ATTRIB3_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663
+
+gl_MAP1_VERTEX_ATTRIB4_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664
+
+gl_MAP1_VERTEX_ATTRIB5_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665
+
+gl_MAP1_VERTEX_ATTRIB6_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666
+
+gl_MAP1_VERTEX_ATTRIB7_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667
+
+gl_MAP1_VERTEX_ATTRIB8_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668
+
+gl_MAP1_VERTEX_ATTRIB9_4_NV :: GLenum
+gl_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669
+
+gl_MAP2_BINORMAL_EXT :: GLenum
+gl_MAP2_BINORMAL_EXT = 0x8447
+
+gl_MAP2_COLOR_4 :: GLenum
+gl_MAP2_COLOR_4 = 0x0DB0
+
+gl_MAP2_GRID_DOMAIN :: GLenum
+gl_MAP2_GRID_DOMAIN = 0x0DD2
+
+gl_MAP2_GRID_SEGMENTS :: GLenum
+gl_MAP2_GRID_SEGMENTS = 0x0DD3
+
+gl_MAP2_INDEX :: GLenum
+gl_MAP2_INDEX = 0x0DB1
+
+gl_MAP2_NORMAL :: GLenum
+gl_MAP2_NORMAL = 0x0DB2
+
+gl_MAP2_TANGENT_EXT :: GLenum
+gl_MAP2_TANGENT_EXT = 0x8445
+
+gl_MAP2_TEXTURE_COORD_1 :: GLenum
+gl_MAP2_TEXTURE_COORD_1 = 0x0DB3
+
+gl_MAP2_TEXTURE_COORD_2 :: GLenum
+gl_MAP2_TEXTURE_COORD_2 = 0x0DB4
+
+gl_MAP2_TEXTURE_COORD_3 :: GLenum
+gl_MAP2_TEXTURE_COORD_3 = 0x0DB5
+
+gl_MAP2_TEXTURE_COORD_4 :: GLenum
+gl_MAP2_TEXTURE_COORD_4 = 0x0DB6
+
+gl_MAP2_VERTEX_3 :: GLenum
+gl_MAP2_VERTEX_3 = 0x0DB7
+
+gl_MAP2_VERTEX_4 :: GLenum
+gl_MAP2_VERTEX_4 = 0x0DB8
+
+gl_MAP2_VERTEX_ATTRIB0_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670
+
+gl_MAP2_VERTEX_ATTRIB10_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A
+
+gl_MAP2_VERTEX_ATTRIB11_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B
+
+gl_MAP2_VERTEX_ATTRIB12_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C
+
+gl_MAP2_VERTEX_ATTRIB13_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D
+
+gl_MAP2_VERTEX_ATTRIB14_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E
+
+gl_MAP2_VERTEX_ATTRIB15_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F
+
+gl_MAP2_VERTEX_ATTRIB1_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671
+
+gl_MAP2_VERTEX_ATTRIB2_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672
+
+gl_MAP2_VERTEX_ATTRIB3_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673
+
+gl_MAP2_VERTEX_ATTRIB4_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674
+
+gl_MAP2_VERTEX_ATTRIB5_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675
+
+gl_MAP2_VERTEX_ATTRIB6_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676
+
+gl_MAP2_VERTEX_ATTRIB7_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677
+
+gl_MAP2_VERTEX_ATTRIB8_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678
+
+gl_MAP2_VERTEX_ATTRIB9_4_NV :: GLenum
+gl_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679
+
+gl_MAP_ATTRIB_U_ORDER_NV :: GLenum
+gl_MAP_ATTRIB_U_ORDER_NV = 0x86C3
+
+gl_MAP_ATTRIB_V_ORDER_NV :: GLenum
+gl_MAP_ATTRIB_V_ORDER_NV = 0x86C4
+
+gl_MAP_COHERENT_BIT :: GLbitfield
+gl_MAP_COHERENT_BIT = 0x0080
+
+gl_MAP_COLOR :: GLenum
+gl_MAP_COLOR = 0x0D10
+
+gl_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
+gl_MAP_FLUSH_EXPLICIT_BIT = 0x0010
+
+gl_MAP_FLUSH_EXPLICIT_BIT_EXT :: GLbitfield
+gl_MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010
+
+gl_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
+gl_MAP_INVALIDATE_BUFFER_BIT = 0x0008
+
+gl_MAP_INVALIDATE_BUFFER_BIT_EXT :: GLbitfield
+gl_MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008
+
+gl_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
+gl_MAP_INVALIDATE_RANGE_BIT = 0x0004
+
+gl_MAP_INVALIDATE_RANGE_BIT_EXT :: GLbitfield
+gl_MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004
+
+gl_MAP_PERSISTENT_BIT :: GLbitfield
+gl_MAP_PERSISTENT_BIT = 0x0040
+
+gl_MAP_READ_BIT :: GLbitfield
+gl_MAP_READ_BIT = 0x0001
+
+gl_MAP_READ_BIT_EXT :: GLbitfield
+gl_MAP_READ_BIT_EXT = 0x0001
+
+gl_MAP_STENCIL :: GLenum
+gl_MAP_STENCIL = 0x0D11
+
+gl_MAP_TESSELLATION_NV :: GLenum
+gl_MAP_TESSELLATION_NV = 0x86C2
+
+gl_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
+gl_MAP_UNSYNCHRONIZED_BIT = 0x0020
+
+gl_MAP_UNSYNCHRONIZED_BIT_EXT :: GLbitfield
+gl_MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020
+
+gl_MAP_WRITE_BIT :: GLbitfield
+gl_MAP_WRITE_BIT = 0x0002
+
+gl_MAP_WRITE_BIT_EXT :: GLbitfield
+gl_MAP_WRITE_BIT_EXT = 0x0002
+
+gl_MATERIAL_SIDE_HINT_PGI :: GLenum
+gl_MATERIAL_SIDE_HINT_PGI = 0x1A22C
+
+gl_MATRIX0_ARB :: GLenum
+gl_MATRIX0_ARB = 0x88C0
+
+gl_MATRIX0_NV :: GLenum
+gl_MATRIX0_NV = 0x8630
+
+gl_MATRIX10_ARB :: GLenum
+gl_MATRIX10_ARB = 0x88CA
+
+gl_MATRIX11_ARB :: GLenum
+gl_MATRIX11_ARB = 0x88CB
+
+gl_MATRIX12_ARB :: GLenum
+gl_MATRIX12_ARB = 0x88CC
+
+gl_MATRIX13_ARB :: GLenum
+gl_MATRIX13_ARB = 0x88CD
+
+gl_MATRIX14_ARB :: GLenum
+gl_MATRIX14_ARB = 0x88CE
+
+gl_MATRIX15_ARB :: GLenum
+gl_MATRIX15_ARB = 0x88CF
+
+gl_MATRIX16_ARB :: GLenum
+gl_MATRIX16_ARB = 0x88D0
+
+gl_MATRIX17_ARB :: GLenum
+gl_MATRIX17_ARB = 0x88D1
+
+gl_MATRIX18_ARB :: GLenum
+gl_MATRIX18_ARB = 0x88D2
+
+gl_MATRIX19_ARB :: GLenum
+gl_MATRIX19_ARB = 0x88D3
+
+gl_MATRIX1_ARB :: GLenum
+gl_MATRIX1_ARB = 0x88C1
+
+gl_MATRIX1_NV :: GLenum
+gl_MATRIX1_NV = 0x8631
+
+gl_MATRIX20_ARB :: GLenum
+gl_MATRIX20_ARB = 0x88D4
+
+gl_MATRIX21_ARB :: GLenum
+gl_MATRIX21_ARB = 0x88D5
+
+gl_MATRIX22_ARB :: GLenum
+gl_MATRIX22_ARB = 0x88D6
+
+gl_MATRIX23_ARB :: GLenum
+gl_MATRIX23_ARB = 0x88D7
+
+gl_MATRIX24_ARB :: GLenum
+gl_MATRIX24_ARB = 0x88D8
+
+gl_MATRIX25_ARB :: GLenum
+gl_MATRIX25_ARB = 0x88D9
+
+gl_MATRIX26_ARB :: GLenum
+gl_MATRIX26_ARB = 0x88DA
+
+gl_MATRIX27_ARB :: GLenum
+gl_MATRIX27_ARB = 0x88DB
+
+gl_MATRIX28_ARB :: GLenum
+gl_MATRIX28_ARB = 0x88DC
+
+gl_MATRIX29_ARB :: GLenum
+gl_MATRIX29_ARB = 0x88DD
+
+gl_MATRIX2_ARB :: GLenum
+gl_MATRIX2_ARB = 0x88C2
+
+gl_MATRIX2_NV :: GLenum
+gl_MATRIX2_NV = 0x8632
+
+gl_MATRIX30_ARB :: GLenum
+gl_MATRIX30_ARB = 0x88DE
+
+gl_MATRIX31_ARB :: GLenum
+gl_MATRIX31_ARB = 0x88DF
+
+gl_MATRIX3_ARB :: GLenum
+gl_MATRIX3_ARB = 0x88C3
+
+gl_MATRIX3_NV :: GLenum
+gl_MATRIX3_NV = 0x8633
+
+gl_MATRIX4_ARB :: GLenum
+gl_MATRIX4_ARB = 0x88C4
+
+gl_MATRIX4_NV :: GLenum
+gl_MATRIX4_NV = 0x8634
+
+gl_MATRIX5_ARB :: GLenum
+gl_MATRIX5_ARB = 0x88C5
+
+gl_MATRIX5_NV :: GLenum
+gl_MATRIX5_NV = 0x8635
+
+gl_MATRIX6_ARB :: GLenum
+gl_MATRIX6_ARB = 0x88C6
+
+gl_MATRIX6_NV :: GLenum
+gl_MATRIX6_NV = 0x8636
+
+gl_MATRIX7_ARB :: GLenum
+gl_MATRIX7_ARB = 0x88C7
+
+gl_MATRIX7_NV :: GLenum
+gl_MATRIX7_NV = 0x8637
+
+gl_MATRIX8_ARB :: GLenum
+gl_MATRIX8_ARB = 0x88C8
+
+gl_MATRIX9_ARB :: GLenum
+gl_MATRIX9_ARB = 0x88C9
+
+gl_MATRIX_EXT :: GLenum
+gl_MATRIX_EXT = 0x87C0
+
+gl_MATRIX_INDEX_ARRAY_ARB :: GLenum
+gl_MATRIX_INDEX_ARRAY_ARB = 0x8844
+
+gl_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES :: GLenum
+gl_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E
+
+gl_MATRIX_INDEX_ARRAY_OES :: GLenum
+gl_MATRIX_INDEX_ARRAY_OES = 0x8844
+
+gl_MATRIX_INDEX_ARRAY_POINTER_ARB :: GLenum
+gl_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849
+
+gl_MATRIX_INDEX_ARRAY_POINTER_OES :: GLenum
+gl_MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849
+
+gl_MATRIX_INDEX_ARRAY_SIZE_ARB :: GLenum
+gl_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846
+
+gl_MATRIX_INDEX_ARRAY_SIZE_OES :: GLenum
+gl_MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846
+
+gl_MATRIX_INDEX_ARRAY_STRIDE_ARB :: GLenum
+gl_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848
+
+gl_MATRIX_INDEX_ARRAY_STRIDE_OES :: GLenum
+gl_MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848
+
+gl_MATRIX_INDEX_ARRAY_TYPE_ARB :: GLenum
+gl_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847
+
+gl_MATRIX_INDEX_ARRAY_TYPE_OES :: GLenum
+gl_MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847
+
+gl_MATRIX_MODE :: GLenum
+gl_MATRIX_MODE = 0x0BA0
+
+gl_MATRIX_PALETTE_ARB :: GLenum
+gl_MATRIX_PALETTE_ARB = 0x8840
+
+gl_MATRIX_PALETTE_OES :: GLenum
+gl_MATRIX_PALETTE_OES = 0x8840
+
+gl_MATRIX_STRIDE :: GLenum
+gl_MATRIX_STRIDE = 0x92FF
+
+gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI :: GLbitfield
+gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000
+
+gl_MAT_AMBIENT_BIT_PGI :: GLbitfield
+gl_MAT_AMBIENT_BIT_PGI = 0x00100000
+
+gl_MAT_COLOR_INDEXES_BIT_PGI :: GLbitfield
+gl_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000
+
+gl_MAT_DIFFUSE_BIT_PGI :: GLbitfield
+gl_MAT_DIFFUSE_BIT_PGI = 0x00400000
+
+gl_MAT_EMISSION_BIT_PGI :: GLbitfield
+gl_MAT_EMISSION_BIT_PGI = 0x00800000
+
+gl_MAT_SHININESS_BIT_PGI :: GLbitfield
+gl_MAT_SHININESS_BIT_PGI = 0x02000000
+
+gl_MAT_SPECULAR_BIT_PGI :: GLbitfield
+gl_MAT_SPECULAR_BIT_PGI = 0x04000000
+
+gl_MAX :: GLenum
+gl_MAX = 0x8008
+
+gl_MAX_3D_TEXTURE_SIZE :: GLenum
+gl_MAX_3D_TEXTURE_SIZE = 0x8073
+
+gl_MAX_3D_TEXTURE_SIZE_EXT :: GLenum
+gl_MAX_3D_TEXTURE_SIZE_EXT = 0x8073
+
+gl_MAX_3D_TEXTURE_SIZE_OES :: GLenum
+gl_MAX_3D_TEXTURE_SIZE_OES = 0x8073
+
+gl_MAX_4D_TEXTURE_SIZE_SGIS :: GLenum
+gl_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138
+
+gl_MAX_ACTIVE_LIGHTS_SGIX :: GLenum
+gl_MAX_ACTIVE_LIGHTS_SGIX = 0x8405
+
+gl_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
+gl_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF
+
+gl_MAX_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
+gl_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF
+
+gl_MAX_ASYNC_DRAW_PIXELS_SGIX :: GLenum
+gl_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360
+
+gl_MAX_ASYNC_HISTOGRAM_SGIX :: GLenum
+gl_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D
+
+gl_MAX_ASYNC_READ_PIXELS_SGIX :: GLenum
+gl_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361
+
+gl_MAX_ASYNC_TEX_IMAGE_SGIX :: GLenum
+gl_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F
+
+gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
+gl_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC
+
+gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
+gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8
+
+gl_MAX_ATTRIB_STACK_DEPTH :: GLenum
+gl_MAX_ATTRIB_STACK_DEPTH = 0x0D35
+
+gl_MAX_BINDABLE_UNIFORM_SIZE_EXT :: GLenum
+gl_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED
+
+gl_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
+gl_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B
+
+gl_MAX_CLIPMAP_DEPTH_SGIX :: GLenum
+gl_MAX_CLIPMAP_DEPTH_SGIX = 0x8177
+
+gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
+gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178
+
+gl_MAX_CLIP_DISTANCES :: GLenum
+gl_MAX_CLIP_DISTANCES = 0x0D32
+
+gl_MAX_CLIP_DISTANCES_APPLE :: GLenum
+gl_MAX_CLIP_DISTANCES_APPLE = 0x0D32
+
+gl_MAX_CLIP_PLANES :: GLenum
+gl_MAX_CLIP_PLANES = 0x0D32
+
+gl_MAX_CLIP_PLANES_IMG :: GLenum
+gl_MAX_CLIP_PLANES_IMG = 0x0D32
+
+gl_MAX_COLOR_ATTACHMENTS :: GLenum
+gl_MAX_COLOR_ATTACHMENTS = 0x8CDF
+
+gl_MAX_COLOR_ATTACHMENTS_EXT :: GLenum
+gl_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF
+
+gl_MAX_COLOR_ATTACHMENTS_NV :: GLenum
+gl_MAX_COLOR_ATTACHMENTS_NV = 0x8CDF
+
+gl_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
+gl_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3
+
+gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
+gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3
+
+gl_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
+gl_MAX_COLOR_TEXTURE_SAMPLES = 0x910E
+
+gl_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
+gl_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7
+
+gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1
+
+gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
+gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA
+
+gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266
+
+gl_MAX_COMBINED_DIMENSIONS :: GLenum
+gl_MAX_COMBINED_DIMENSIONS = 0x8282
+
+gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33
+
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32
+
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32
+
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES :: GLenum
+gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8A32
+
+gl_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
+gl_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF
+
+gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
+gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39
+
+gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT :: GLenum
+gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39
+
+gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
+gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39
+
+gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC
+
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E
+
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E
+
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: GLenum
+gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E1E
+
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F
+
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F
+
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: GLenum
+gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E1F
+
+gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D
+
+gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB :: GLenum
+gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D
+
+gl_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
+gl_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E
+
+gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31
+
+gl_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
+gl_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265
+
+gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264
+
+gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB :: GLenum
+gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB
+
+gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB :: GLenum
+gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF
+
+gl_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
+gl_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD
+
+gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB
+
+gl_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
+gl_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262
+
+gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC
+
+gl_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
+gl_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB
+
+gl_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263
+
+gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB :: GLenum
+gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344
+
+gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB :: GLenum
+gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345
+
+gl_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
+gl_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE
+
+gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
+gl_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB
+
+gl_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
+gl_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF
+
+gl_MAX_CONVOLUTION_HEIGHT :: GLenum
+gl_MAX_CONVOLUTION_HEIGHT = 0x801B
+
+gl_MAX_CONVOLUTION_HEIGHT_EXT :: GLenum
+gl_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B
+
+gl_MAX_CONVOLUTION_WIDTH :: GLenum
+gl_MAX_CONVOLUTION_WIDTH = 0x801A
+
+gl_MAX_CONVOLUTION_WIDTH_EXT :: GLenum
+gl_MAX_CONVOLUTION_WIDTH_EXT = 0x801A
+
+gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
+gl_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C
+
+gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARB :: GLenum
+gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C
+
+gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXT :: GLenum
+gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C
+
+gl_MAX_CUBE_MAP_TEXTURE_SIZE_OES :: GLenum
+gl_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C
+
+gl_MAX_CULL_DISTANCES :: GLenum
+gl_MAX_CULL_DISTANCES = 0x82F9
+
+gl_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
+gl_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C
+
+gl_MAX_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
+gl_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C
+
+gl_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
+gl_MAX_DEBUG_LOGGED_MESSAGES = 0x9144
+
+gl_MAX_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
+gl_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144
+
+gl_MAX_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
+gl_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144
+
+gl_MAX_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
+gl_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144
+
+gl_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
+gl_MAX_DEBUG_MESSAGE_LENGTH = 0x9143
+
+gl_MAX_DEBUG_MESSAGE_LENGTH_AMD :: GLenum
+gl_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143
+
+gl_MAX_DEBUG_MESSAGE_LENGTH_ARB :: GLenum
+gl_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143
+
+gl_MAX_DEBUG_MESSAGE_LENGTH_KHR :: GLenum
+gl_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143
+
+gl_MAX_DEEP_3D_TEXTURE_DEPTH_NV :: GLenum
+gl_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1
+
+gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV :: GLenum
+gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0
+
+gl_MAX_DEFORMATION_ORDER_SGIX :: GLenum
+gl_MAX_DEFORMATION_ORDER_SGIX = 0x8197
+
+gl_MAX_DEPTH :: GLenum
+gl_MAX_DEPTH = 0x8280
+
+gl_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
+gl_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F
+
+gl_MAX_DRAW_BUFFERS :: GLenum
+gl_MAX_DRAW_BUFFERS = 0x8824
+
+gl_MAX_DRAW_BUFFERS_ARB :: GLenum
+gl_MAX_DRAW_BUFFERS_ARB = 0x8824
+
+gl_MAX_DRAW_BUFFERS_ATI :: GLenum
+gl_MAX_DRAW_BUFFERS_ATI = 0x8824
+
+gl_MAX_DRAW_BUFFERS_EXT :: GLenum
+gl_MAX_DRAW_BUFFERS_EXT = 0x8824
+
+gl_MAX_DRAW_BUFFERS_NV :: GLenum
+gl_MAX_DRAW_BUFFERS_NV = 0x8824
+
+gl_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
+gl_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC
+
+gl_MAX_ELEMENTS_INDICES :: GLenum
+gl_MAX_ELEMENTS_INDICES = 0x80E9
+
+gl_MAX_ELEMENTS_INDICES_EXT :: GLenum
+gl_MAX_ELEMENTS_INDICES_EXT = 0x80E9
+
+gl_MAX_ELEMENTS_VERTICES :: GLenum
+gl_MAX_ELEMENTS_VERTICES = 0x80E8
+
+gl_MAX_ELEMENTS_VERTICES_EXT :: GLenum
+gl_MAX_ELEMENTS_VERTICES_EXT = 0x80E8
+
+gl_MAX_ELEMENT_INDEX :: GLenum
+gl_MAX_ELEMENT_INDEX = 0x8D6B
+
+gl_MAX_EVAL_ORDER :: GLenum
+gl_MAX_EVAL_ORDER = 0x0D30
+
+gl_MAX_EXT :: GLenum
+gl_MAX_EXT = 0x8008
+
+gl_MAX_FOG_FUNC_POINTS_SGIS :: GLenum
+gl_MAX_FOG_FUNC_POINTS_SGIS = 0x812C
+
+gl_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
+gl_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6
+
+gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0
+
+gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT :: GLenum
+gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3
+
+gl_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
+gl_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE
+
+gl_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
+gl_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125
+
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C
+
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C
+
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
+gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C
+
+gl_MAX_FRAGMENT_LIGHTS_SGIX :: GLenum
+gl_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404
+
+gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV :: GLenum
+gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868
+
+gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA
+
+gl_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
+gl_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D
+
+gl_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49
+
+gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB :: GLenum
+gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49
+
+gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
+gl_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD
+
+gl_MAX_FRAMEBUFFER_HEIGHT :: GLenum
+gl_MAX_FRAMEBUFFER_HEIGHT = 0x9316
+
+gl_MAX_FRAMEBUFFER_LAYERS :: GLenum
+gl_MAX_FRAMEBUFFER_LAYERS = 0x9317
+
+gl_MAX_FRAMEBUFFER_LAYERS_EXT :: GLenum
+gl_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317
+
+gl_MAX_FRAMEBUFFER_LAYERS_OES :: GLenum
+gl_MAX_FRAMEBUFFER_LAYERS_OES = 0x9317
+
+gl_MAX_FRAMEBUFFER_SAMPLES :: GLenum
+gl_MAX_FRAMEBUFFER_SAMPLES = 0x9318
+
+gl_MAX_FRAMEBUFFER_WIDTH :: GLenum
+gl_MAX_FRAMEBUFFER_WIDTH = 0x9315
+
+gl_MAX_FRAMEZOOM_FACTOR_SGIX :: GLenum
+gl_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D
+
+gl_MAX_GENERAL_COMBINERS_NV :: GLenum
+gl_MAX_GENERAL_COMBINERS_NV = 0x854D
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS_OES :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTERS_OES = 0x92D5
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF
+
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
+gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES = 0x92CF
+
+gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT :: GLenum
+gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4
+
+gl_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
+gl_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD
+
+gl_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT :: GLenum
+gl_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD
+
+gl_MAX_GEOMETRY_IMAGE_UNIFORMS_OES :: GLenum
+gl_MAX_GEOMETRY_IMAGE_UNIFORMS_OES = 0x90CD
+
+gl_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
+gl_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123
+
+gl_MAX_GEOMETRY_INPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123
+
+gl_MAX_GEOMETRY_INPUT_COMPONENTS_OES :: GLenum
+gl_MAX_GEOMETRY_INPUT_COMPONENTS_OES = 0x9123
+
+gl_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124
+
+gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124
+
+gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES = 0x9124
+
+gl_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0
+
+gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARB :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0
+
+gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0
+
+gl_MAX_GEOMETRY_OUTPUT_VERTICES_OES :: GLenum
+gl_MAX_GEOMETRY_OUTPUT_VERTICES_OES = 0x8DE0
+
+gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV :: GLenum
+gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A
+
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A
+
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A
+
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS_OES :: GLenum
+gl_MAX_GEOMETRY_SHADER_INVOCATIONS_OES = 0x8E5A
+
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7
+
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT :: GLenum
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7
+
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES :: GLenum
+gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES = 0x90D7
+
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29
+
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB :: GLenum
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29
+
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: GLenum
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29
+
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES :: GLenum
+gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES = 0x8C29
+
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1
+
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB :: GLenum
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1
+
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1
+
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES :: GLenum
+gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES = 0x8DE1
+
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C
+
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C
+
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS_OES :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_BLOCKS_OES = 0x8A2C
+
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF
+
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF
+
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF
+
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES :: GLenum
+gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8DDF
+
+gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB :: GLenum
+gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD
+
+gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXT :: GLenum
+gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD
+
+gl_MAX_HEIGHT :: GLenum
+gl_MAX_HEIGHT = 0x827F
+
+gl_MAX_IMAGE_SAMPLES :: GLenum
+gl_MAX_IMAGE_SAMPLES = 0x906D
+
+gl_MAX_IMAGE_SAMPLES_EXT :: GLenum
+gl_MAX_IMAGE_SAMPLES_EXT = 0x906D
+
+gl_MAX_IMAGE_UNITS :: GLenum
+gl_MAX_IMAGE_UNITS = 0x8F38
+
+gl_MAX_IMAGE_UNITS_EXT :: GLenum
+gl_MAX_IMAGE_UNITS_EXT = 0x8F38
+
+gl_MAX_INTEGER_SAMPLES :: GLenum
+gl_MAX_INTEGER_SAMPLES = 0x9110
+
+gl_MAX_LABEL_LENGTH :: GLenum
+gl_MAX_LABEL_LENGTH = 0x82E8
+
+gl_MAX_LABEL_LENGTH_KHR :: GLenum
+gl_MAX_LABEL_LENGTH_KHR = 0x82E8
+
+gl_MAX_LAYERS :: GLenum
+gl_MAX_LAYERS = 0x8281
+
+gl_MAX_LIGHTS :: GLenum
+gl_MAX_LIGHTS = 0x0D31
+
+gl_MAX_LIST_NESTING :: GLenum
+gl_MAX_LIST_NESTING = 0x0B31
+
+gl_MAX_MAP_TESSELLATION_NV :: GLenum
+gl_MAX_MAP_TESSELLATION_NV = 0x86D6
+
+gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB :: GLenum
+gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841
+
+gl_MAX_MODELVIEW_STACK_DEPTH :: GLenum
+gl_MAX_MODELVIEW_STACK_DEPTH = 0x0D36
+
+gl_MAX_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
+gl_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11
+
+gl_MAX_MULTIVIEW_BUFFERS_EXT :: GLenum
+gl_MAX_MULTIVIEW_BUFFERS_EXT = 0x90F2
+
+gl_MAX_NAME_LENGTH :: GLenum
+gl_MAX_NAME_LENGTH = 0x92F6
+
+gl_MAX_NAME_STACK_DEPTH :: GLenum
+gl_MAX_NAME_STACK_DEPTH = 0x0D37
+
+gl_MAX_NUM_ACTIVE_VARIABLES :: GLenum
+gl_MAX_NUM_ACTIVE_VARIABLES = 0x92F7
+
+gl_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
+gl_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC
+
+gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: GLenum
+gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB
+
+gl_MAX_PALETTE_MATRICES_ARB :: GLenum
+gl_MAX_PALETTE_MATRICES_ARB = 0x8842
+
+gl_MAX_PALETTE_MATRICES_OES :: GLenum
+gl_MAX_PALETTE_MATRICES_OES = 0x8842
+
+gl_MAX_PATCH_VERTICES :: GLenum
+gl_MAX_PATCH_VERTICES = 0x8E7D
+
+gl_MAX_PATCH_VERTICES_EXT :: GLenum
+gl_MAX_PATCH_VERTICES_EXT = 0x8E7D
+
+gl_MAX_PATCH_VERTICES_OES :: GLenum
+gl_MAX_PATCH_VERTICES_OES = 0x8E7D
+
+gl_MAX_PIXEL_MAP_TABLE :: GLenum
+gl_MAX_PIXEL_MAP_TABLE = 0x0D34
+
+gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
+gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337
+
+gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
+gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1
+
+gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
+gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1
+
+gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B
+
+gl_MAX_PROGRAM_ATTRIBS_ARB :: GLenum
+gl_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD
+
+gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
+gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908
+
+gl_MAX_PROGRAM_CALL_DEPTH_NV :: GLenum
+gl_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5
+
+gl_MAX_PROGRAM_ENV_PARAMETERS_ARB :: GLenum
+gl_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5
+
+gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: GLenum
+gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4
+
+gl_MAX_PROGRAM_GENERIC_ATTRIBS_NV :: GLenum
+gl_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5
+
+gl_MAX_PROGRAM_GENERIC_RESULTS_NV :: GLenum
+gl_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6
+
+gl_MAX_PROGRAM_IF_DEPTH_NV :: GLenum
+gl_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6
+
+gl_MAX_PROGRAM_INSTRUCTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1
+
+gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: GLenum
+gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4
+
+gl_MAX_PROGRAM_LOOP_COUNT_NV :: GLenum
+gl_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8
+
+gl_MAX_PROGRAM_LOOP_DEPTH_NV :: GLenum
+gl_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7
+
+gl_MAX_PROGRAM_MATRICES_ARB :: GLenum
+gl_MAX_PROGRAM_MATRICES_ARB = 0x862F
+
+gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: GLenum
+gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E
+
+gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3
+
+gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E
+
+gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF
+
+gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3
+
+gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB
+
+gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7
+
+gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810
+
+gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F
+
+gl_MAX_PROGRAM_OUTPUT_VERTICES_NV :: GLenum
+gl_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27
+
+gl_MAX_PROGRAM_PARAMETERS_ARB :: GLenum
+gl_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9
+
+gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV :: GLenum
+gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0
+
+gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV :: GLenum
+gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1
+
+gl_MAX_PROGRAM_PATCH_ATTRIBS_NV :: GLenum
+gl_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8
+
+gl_MAX_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
+gl_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909
+
+gl_MAX_PROGRAM_SUBROUTINE_NUM_NV :: GLenum
+gl_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45
+
+gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV :: GLenum
+gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44
+
+gl_MAX_PROGRAM_TEMPORARIES_ARB :: GLenum
+gl_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5
+
+gl_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
+gl_MAX_PROGRAM_TEXEL_OFFSET = 0x8905
+
+gl_MAX_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
+gl_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905
+
+gl_MAX_PROGRAM_TEXEL_OFFSET_NV :: GLenum
+gl_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905
+
+gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB :: GLenum
+gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F
+
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F
+
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F
+
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
+gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F
+
+gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D
+
+gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
+gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C
+
+gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV :: GLenum
+gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28
+
+gl_MAX_PROJECTION_STACK_DEPTH :: GLenum
+gl_MAX_PROJECTION_STACK_DEPTH = 0x0D38
+
+gl_MAX_RASTER_SAMPLES_EXT :: GLenum
+gl_MAX_RASTER_SAMPLES_EXT = 0x9329
+
+gl_MAX_RATIONAL_EVAL_ORDER_NV :: GLenum
+gl_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7
+
+gl_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
+gl_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8
+
+gl_MAX_RECTANGLE_TEXTURE_SIZE_ARB :: GLenum
+gl_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8
+
+gl_MAX_RECTANGLE_TEXTURE_SIZE_NV :: GLenum
+gl_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8
+
+gl_MAX_RENDERBUFFER_SIZE :: GLenum
+gl_MAX_RENDERBUFFER_SIZE = 0x84E8
+
+gl_MAX_RENDERBUFFER_SIZE_EXT :: GLenum
+gl_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8
+
+gl_MAX_RENDERBUFFER_SIZE_OES :: GLenum
+gl_MAX_RENDERBUFFER_SIZE_OES = 0x84E8
+
+gl_MAX_SAMPLES :: GLenum
+gl_MAX_SAMPLES = 0x8D57
+
+gl_MAX_SAMPLES_ANGLE :: GLenum
+gl_MAX_SAMPLES_ANGLE = 0x8D57
+
+gl_MAX_SAMPLES_APPLE :: GLenum
+gl_MAX_SAMPLES_APPLE = 0x8D57
+
+gl_MAX_SAMPLES_EXT :: GLenum
+gl_MAX_SAMPLES_EXT = 0x8D57
+
+gl_MAX_SAMPLES_IMG :: GLenum
+gl_MAX_SAMPLES_IMG = 0x9135
+
+gl_MAX_SAMPLES_NV :: GLenum
+gl_MAX_SAMPLES_NV = 0x8D57
+
+gl_MAX_SAMPLE_MASK_WORDS :: GLenum
+gl_MAX_SAMPLE_MASK_WORDS = 0x8E59
+
+gl_MAX_SAMPLE_MASK_WORDS_NV :: GLenum
+gl_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59
+
+gl_MAX_SERVER_WAIT_TIMEOUT :: GLenum
+gl_MAX_SERVER_WAIT_TIMEOUT = 0x9111
+
+gl_MAX_SERVER_WAIT_TIMEOUT_APPLE :: GLenum
+gl_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111
+
+gl_MAX_SHADER_BUFFER_ADDRESS_NV :: GLenum
+gl_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35
+
+gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT :: GLenum
+gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 0x8F63
+
+gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT :: GLenum
+gl_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 0x8F67
+
+gl_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
+gl_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE
+
+gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
+gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD
+
+gl_MAX_SHININESS_NV :: GLenum
+gl_MAX_SHININESS_NV = 0x8504
+
+gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMD :: GLenum
+gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199
+
+gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARB :: GLenum
+gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199
+
+gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS :: GLenum
+gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A
+
+gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB :: GLenum
+gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A
+
+gl_MAX_SPARSE_TEXTURE_SIZE_AMD :: GLenum
+gl_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198
+
+gl_MAX_SPARSE_TEXTURE_SIZE_ARB :: GLenum
+gl_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198
+
+gl_MAX_SPOT_EXPONENT_NV :: GLenum
+gl_MAX_SPOT_EXPONENT_NV = 0x8505
+
+gl_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV :: GLenum
+gl_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349
+
+gl_MAX_SUBROUTINES :: GLenum
+gl_MAX_SUBROUTINES = 0x8DE7
+
+gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
+gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES = 0x92D3
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD
+
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
+gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES = 0x92CD
+
+gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
+gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB
+
+gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB
+
+gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES :: GLenum
+gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES = 0x90CB
+
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C
+
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C
+
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES = 0x886C
+
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83
+
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83
+
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES = 0x8E83
+
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8
+
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8
+
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES :: GLenum
+gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES = 0x90D8
+
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81
+
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81
+
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES :: GLenum
+gl_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES = 0x8E81
+
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85
+
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85
+
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES = 0x8E85
+
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89
+
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89
+
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES = 0x8E89
+
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F
+
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F
+
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E7F
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES = 0x92D4
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE
+
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES = 0x92CE
+
+gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
+gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC
+
+gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC
+
+gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES = 0x90CC
+
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D
+
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D
+
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES = 0x886D
+
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86
+
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86
+
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES = 0x8E86
+
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9
+
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9
+
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES = 0x90D9
+
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82
+
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82
+
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES = 0x8E82
+
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A
+
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A
+
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES = 0x8E8A
+
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80
+
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80
+
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E80
+
+gl_MAX_TESS_GEN_LEVEL :: GLenum
+gl_MAX_TESS_GEN_LEVEL = 0x8E7E
+
+gl_MAX_TESS_GEN_LEVEL_EXT :: GLenum
+gl_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E
+
+gl_MAX_TESS_GEN_LEVEL_OES :: GLenum
+gl_MAX_TESS_GEN_LEVEL_OES = 0x8E7E
+
+gl_MAX_TESS_PATCH_COMPONENTS :: GLenum
+gl_MAX_TESS_PATCH_COMPONENTS = 0x8E84
+
+gl_MAX_TESS_PATCH_COMPONENTS_EXT :: GLenum
+gl_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84
+
+gl_MAX_TESS_PATCH_COMPONENTS_OES :: GLenum
+gl_MAX_TESS_PATCH_COMPONENTS_OES = 0x8E84
+
+gl_MAX_TEXTURE_BUFFER_SIZE :: GLenum
+gl_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B
+
+gl_MAX_TEXTURE_BUFFER_SIZE_ARB :: GLenum
+gl_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B
+
+gl_MAX_TEXTURE_BUFFER_SIZE_EXT :: GLenum
+gl_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B
+
+gl_MAX_TEXTURE_BUFFER_SIZE_OES :: GLenum
+gl_MAX_TEXTURE_BUFFER_SIZE_OES = 0x8C2B
+
+gl_MAX_TEXTURE_COORDS :: GLenum
+gl_MAX_TEXTURE_COORDS = 0x8871
+
+gl_MAX_TEXTURE_COORDS_ARB :: GLenum
+gl_MAX_TEXTURE_COORDS_ARB = 0x8871
+
+gl_MAX_TEXTURE_COORDS_NV :: GLenum
+gl_MAX_TEXTURE_COORDS_NV = 0x8871
+
+gl_MAX_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_TEXTURE_IMAGE_UNITS = 0x8872
+
+gl_MAX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
+gl_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872
+
+gl_MAX_TEXTURE_IMAGE_UNITS_NV :: GLenum
+gl_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872
+
+gl_MAX_TEXTURE_LOD_BIAS :: GLenum
+gl_MAX_TEXTURE_LOD_BIAS = 0x84FD
+
+gl_MAX_TEXTURE_LOD_BIAS_EXT :: GLenum
+gl_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD
+
+gl_MAX_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
+gl_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF
+
+gl_MAX_TEXTURE_SIZE :: GLenum
+gl_MAX_TEXTURE_SIZE = 0x0D33
+
+gl_MAX_TEXTURE_STACK_DEPTH :: GLenum
+gl_MAX_TEXTURE_STACK_DEPTH = 0x0D39
+
+gl_MAX_TEXTURE_UNITS :: GLenum
+gl_MAX_TEXTURE_UNITS = 0x84E2
+
+gl_MAX_TEXTURE_UNITS_ARB :: GLenum
+gl_MAX_TEXTURE_UNITS_ARB = 0x84E2
+
+gl_MAX_TRACK_MATRICES_NV :: GLenum
+gl_MAX_TRACK_MATRICES_NV = 0x862F
+
+gl_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: GLenum
+gl_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E
+
+gl_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70
+
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A
+
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A
+
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80
+
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV :: GLenum
+gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80
+
+gl_MAX_UNIFORM_BLOCK_SIZE :: GLenum
+gl_MAX_UNIFORM_BLOCK_SIZE = 0x8A30
+
+gl_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
+gl_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F
+
+gl_MAX_UNIFORM_LOCATIONS :: GLenum
+gl_MAX_UNIFORM_LOCATIONS = 0x826E
+
+gl_MAX_VARYING_COMPONENTS :: GLenum
+gl_MAX_VARYING_COMPONENTS = 0x8B4B
+
+gl_MAX_VARYING_COMPONENTS_EXT :: GLenum
+gl_MAX_VARYING_COMPONENTS_EXT = 0x8B4B
+
+gl_MAX_VARYING_FLOATS :: GLenum
+gl_MAX_VARYING_FLOATS = 0x8B4B
+
+gl_MAX_VARYING_FLOATS_ARB :: GLenum
+gl_MAX_VARYING_FLOATS_ARB = 0x8B4B
+
+gl_MAX_VARYING_VECTORS :: GLenum
+gl_MAX_VARYING_VECTORS = 0x8DFC
+
+gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV :: GLenum
+gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520
+
+gl_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
+gl_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2
+
+gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
+gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC
+
+gl_MAX_VERTEX_ATTRIBS :: GLenum
+gl_MAX_VERTEX_ATTRIBS = 0x8869
+
+gl_MAX_VERTEX_ATTRIBS_ARB :: GLenum
+gl_MAX_VERTEX_ATTRIBS_ARB = 0x8869
+
+gl_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
+gl_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA
+
+gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
+gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9
+
+gl_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
+gl_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5
+
+gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXT :: GLenum
+gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2
+
+gl_MAX_VERTEX_HINT_PGI :: GLenum
+gl_MAX_VERTEX_HINT_PGI = 0x1A22D
+
+gl_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
+gl_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA
+
+gl_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
+gl_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122
+
+gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
+gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5
+
+gl_MAX_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
+gl_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7
+
+gl_MAX_VERTEX_SHADER_LOCALS_EXT :: GLenum
+gl_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9
+
+gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
+gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8
+
+gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
+gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6
+
+gl_MAX_VERTEX_SHADER_VARIANTS_EXT :: GLenum
+gl_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6
+
+gl_MAX_VERTEX_STREAMS :: GLenum
+gl_MAX_VERTEX_STREAMS = 0x8E71
+
+gl_MAX_VERTEX_STREAMS_ATI :: GLenum
+gl_MAX_VERTEX_STREAMS_ATI = 0x876B
+
+gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
+gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C
+
+gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
+gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C
+
+gl_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
+gl_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B
+
+gl_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
+gl_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A
+
+gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARB :: GLenum
+gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A
+
+gl_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
+gl_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB
+
+gl_MAX_VERTEX_UNITS_ARB :: GLenum
+gl_MAX_VERTEX_UNITS_ARB = 0x86A4
+
+gl_MAX_VERTEX_UNITS_OES :: GLenum
+gl_MAX_VERTEX_UNITS_OES = 0x86A4
+
+gl_MAX_VERTEX_VARYING_COMPONENTS_ARB :: GLenum
+gl_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE
+
+gl_MAX_VERTEX_VARYING_COMPONENTS_EXT :: GLenum
+gl_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE
+
+gl_MAX_VIEWPORTS :: GLenum
+gl_MAX_VIEWPORTS = 0x825B
+
+gl_MAX_VIEWPORTS_NV :: GLenum
+gl_MAX_VIEWPORTS_NV = 0x825B
+
+gl_MAX_VIEWPORT_DIMS :: GLenum
+gl_MAX_VIEWPORT_DIMS = 0x0D3A
+
+gl_MAX_WIDTH :: GLenum
+gl_MAX_WIDTH = 0x827E
+
+gl_MEDIUM_FLOAT :: GLenum
+gl_MEDIUM_FLOAT = 0x8DF1
+
+gl_MEDIUM_INT :: GLenum
+gl_MEDIUM_INT = 0x8DF4
+
+gl_MIN :: GLenum
+gl_MIN = 0x8007
+
+gl_MINMAX :: GLenum
+gl_MINMAX = 0x802E
+
+gl_MINMAX_EXT :: GLenum
+gl_MINMAX_EXT = 0x802E
+
+gl_MINMAX_FORMAT :: GLenum
+gl_MINMAX_FORMAT = 0x802F
+
+gl_MINMAX_FORMAT_EXT :: GLenum
+gl_MINMAX_FORMAT_EXT = 0x802F
+
+gl_MINMAX_SINK :: GLenum
+gl_MINMAX_SINK = 0x8030
+
+gl_MINMAX_SINK_EXT :: GLenum
+gl_MINMAX_SINK_EXT = 0x8030
+
+gl_MINOR_VERSION :: GLenum
+gl_MINOR_VERSION = 0x821C
+
+gl_MINUS_CLAMPED_NV :: GLenum
+gl_MINUS_CLAMPED_NV = 0x92B3
+
+gl_MINUS_NV :: GLenum
+gl_MINUS_NV = 0x929F
+
+gl_MIN_EXT :: GLenum
+gl_MIN_EXT = 0x8007
+
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B
+
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B
+
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
+gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B
+
+gl_MIN_LOD_WARNING_AMD :: GLenum
+gl_MIN_LOD_WARNING_AMD = 0x919C
+
+gl_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
+gl_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC
+
+gl_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
+gl_MIN_PROGRAM_TEXEL_OFFSET = 0x8904
+
+gl_MIN_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
+gl_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904
+
+gl_MIN_PROGRAM_TEXEL_OFFSET_NV :: GLenum
+gl_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904
+
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E
+
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E
+
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
+gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E
+
+gl_MIN_SAMPLE_SHADING_VALUE :: GLenum
+gl_MIN_SAMPLE_SHADING_VALUE = 0x8C37
+
+gl_MIN_SAMPLE_SHADING_VALUE_ARB :: GLenum
+gl_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37
+
+gl_MIN_SAMPLE_SHADING_VALUE_OES :: GLenum
+gl_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37
+
+gl_MIN_SPARSE_LEVEL_AMD :: GLenum
+gl_MIN_SPARSE_LEVEL_AMD = 0x919B
+
+gl_MIPMAP :: GLenum
+gl_MIPMAP = 0x8293
+
+gl_MIRRORED_REPEAT :: GLenum
+gl_MIRRORED_REPEAT = 0x8370
+
+gl_MIRRORED_REPEAT_ARB :: GLenum
+gl_MIRRORED_REPEAT_ARB = 0x8370
+
+gl_MIRRORED_REPEAT_IBM :: GLenum
+gl_MIRRORED_REPEAT_IBM = 0x8370
+
+gl_MIRRORED_REPEAT_OES :: GLenum
+gl_MIRRORED_REPEAT_OES = 0x8370
+
+gl_MIRROR_CLAMP_ATI :: GLenum
+gl_MIRROR_CLAMP_ATI = 0x8742
+
+gl_MIRROR_CLAMP_EXT :: GLenum
+gl_MIRROR_CLAMP_EXT = 0x8742
+
+gl_MIRROR_CLAMP_TO_BORDER_EXT :: GLenum
+gl_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912
+
+gl_MIRROR_CLAMP_TO_EDGE :: GLenum
+gl_MIRROR_CLAMP_TO_EDGE = 0x8743
+
+gl_MIRROR_CLAMP_TO_EDGE_ATI :: GLenum
+gl_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743
+
+gl_MIRROR_CLAMP_TO_EDGE_EXT :: GLenum
+gl_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743
+
+gl_MITER_REVERT_NV :: GLenum
+gl_MITER_REVERT_NV = 0x90A7
+
+gl_MITER_TRUNCATE_NV :: GLenum
+gl_MITER_TRUNCATE_NV = 0x90A8
+
+gl_MIXED_DEPTH_SAMPLES_SUPPORTED_NV :: GLenum
+gl_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F
+
+gl_MIXED_STENCIL_SAMPLES_SUPPORTED_NV :: GLenum
+gl_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330
+
+gl_MODELVIEW :: GLenum
+gl_MODELVIEW = 0x1700
+
+gl_MODELVIEW0_ARB :: GLenum
+gl_MODELVIEW0_ARB = 0x1700
+
+gl_MODELVIEW0_EXT :: GLenum
+gl_MODELVIEW0_EXT = 0x1700
+
+gl_MODELVIEW0_MATRIX_EXT :: GLenum
+gl_MODELVIEW0_MATRIX_EXT = 0x0BA6
+
+gl_MODELVIEW0_STACK_DEPTH_EXT :: GLenum
+gl_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3
+
+gl_MODELVIEW10_ARB :: GLenum
+gl_MODELVIEW10_ARB = 0x872A
+
+gl_MODELVIEW11_ARB :: GLenum
+gl_MODELVIEW11_ARB = 0x872B
+
+gl_MODELVIEW12_ARB :: GLenum
+gl_MODELVIEW12_ARB = 0x872C
+
+gl_MODELVIEW13_ARB :: GLenum
+gl_MODELVIEW13_ARB = 0x872D
+
+gl_MODELVIEW14_ARB :: GLenum
+gl_MODELVIEW14_ARB = 0x872E
+
+gl_MODELVIEW15_ARB :: GLenum
+gl_MODELVIEW15_ARB = 0x872F
+
+gl_MODELVIEW16_ARB :: GLenum
+gl_MODELVIEW16_ARB = 0x8730
+
+gl_MODELVIEW17_ARB :: GLenum
+gl_MODELVIEW17_ARB = 0x8731
+
+gl_MODELVIEW18_ARB :: GLenum
+gl_MODELVIEW18_ARB = 0x8732
+
+gl_MODELVIEW19_ARB :: GLenum
+gl_MODELVIEW19_ARB = 0x8733
+
+gl_MODELVIEW1_ARB :: GLenum
+gl_MODELVIEW1_ARB = 0x850A
+
+gl_MODELVIEW1_EXT :: GLenum
+gl_MODELVIEW1_EXT = 0x850A
+
+gl_MODELVIEW1_MATRIX_EXT :: GLenum
+gl_MODELVIEW1_MATRIX_EXT = 0x8506
+
+gl_MODELVIEW1_STACK_DEPTH_EXT :: GLenum
+gl_MODELVIEW1_STACK_DEPTH_EXT = 0x8502
+
+gl_MODELVIEW20_ARB :: GLenum
+gl_MODELVIEW20_ARB = 0x8734
+
+gl_MODELVIEW21_ARB :: GLenum
+gl_MODELVIEW21_ARB = 0x8735
+
+gl_MODELVIEW22_ARB :: GLenum
+gl_MODELVIEW22_ARB = 0x8736
+
+gl_MODELVIEW23_ARB :: GLenum
+gl_MODELVIEW23_ARB = 0x8737
+
+gl_MODELVIEW24_ARB :: GLenum
+gl_MODELVIEW24_ARB = 0x8738
+
+gl_MODELVIEW25_ARB :: GLenum
+gl_MODELVIEW25_ARB = 0x8739
+
+gl_MODELVIEW26_ARB :: GLenum
+gl_MODELVIEW26_ARB = 0x873A
+
+gl_MODELVIEW27_ARB :: GLenum
+gl_MODELVIEW27_ARB = 0x873B
+
+gl_MODELVIEW28_ARB :: GLenum
+gl_MODELVIEW28_ARB = 0x873C
+
+gl_MODELVIEW29_ARB :: GLenum
+gl_MODELVIEW29_ARB = 0x873D
+
+gl_MODELVIEW2_ARB :: GLenum
+gl_MODELVIEW2_ARB = 0x8722
+
+gl_MODELVIEW30_ARB :: GLenum
+gl_MODELVIEW30_ARB = 0x873E
+
+gl_MODELVIEW31_ARB :: GLenum
+gl_MODELVIEW31_ARB = 0x873F
+
+gl_MODELVIEW3_ARB :: GLenum
+gl_MODELVIEW3_ARB = 0x8723
+
+gl_MODELVIEW4_ARB :: GLenum
+gl_MODELVIEW4_ARB = 0x8724
+
+gl_MODELVIEW5_ARB :: GLenum
+gl_MODELVIEW5_ARB = 0x8725
+
+gl_MODELVIEW6_ARB :: GLenum
+gl_MODELVIEW6_ARB = 0x8726
+
+gl_MODELVIEW7_ARB :: GLenum
+gl_MODELVIEW7_ARB = 0x8727
+
+gl_MODELVIEW8_ARB :: GLenum
+gl_MODELVIEW8_ARB = 0x8728
+
+gl_MODELVIEW9_ARB :: GLenum
+gl_MODELVIEW9_ARB = 0x8729
+
+gl_MODELVIEW_MATRIX :: GLenum
+gl_MODELVIEW_MATRIX = 0x0BA6
+
+gl_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
+gl_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D
+
+gl_MODELVIEW_PROJECTION_NV :: GLenum
+gl_MODELVIEW_PROJECTION_NV = 0x8629
+
+gl_MODELVIEW_STACK_DEPTH :: GLenum
+gl_MODELVIEW_STACK_DEPTH = 0x0BA3
+
+gl_MODULATE :: GLenum
+gl_MODULATE = 0x2100
+
+gl_MODULATE_ADD_ATI :: GLenum
+gl_MODULATE_ADD_ATI = 0x8744
+
+gl_MODULATE_COLOR_IMG :: GLenum
+gl_MODULATE_COLOR_IMG = 0x8C04
+
+gl_MODULATE_SIGNED_ADD_ATI :: GLenum
+gl_MODULATE_SIGNED_ADD_ATI = 0x8745
+
+gl_MODULATE_SUBTRACT_ATI :: GLenum
+gl_MODULATE_SUBTRACT_ATI = 0x8746
+
+gl_MOVE_TO_CONTINUES_NV :: GLenum
+gl_MOVE_TO_CONTINUES_NV = 0x90B6
+
+gl_MOVE_TO_NV :: GLubyte
+gl_MOVE_TO_NV = 0x02
+
+gl_MOVE_TO_RESETS_NV :: GLenum
+gl_MOVE_TO_RESETS_NV = 0x90B5
+
+gl_MOV_ATI :: GLenum
+gl_MOV_ATI = 0x8961
+
+gl_MULT :: GLenum
+gl_MULT = 0x0103
+
+gl_MULTIPLY_KHR :: GLenum
+gl_MULTIPLY_KHR = 0x9294
+
+gl_MULTIPLY_NV :: GLenum
+gl_MULTIPLY_NV = 0x9294
+
+gl_MULTISAMPLE :: GLenum
+gl_MULTISAMPLE = 0x809D
+
+gl_MULTISAMPLES_NV :: GLenum
+gl_MULTISAMPLES_NV = 0x9371
+
+gl_MULTISAMPLE_3DFX :: GLenum
+gl_MULTISAMPLE_3DFX = 0x86B2
+
+gl_MULTISAMPLE_ARB :: GLenum
+gl_MULTISAMPLE_ARB = 0x809D
+
+gl_MULTISAMPLE_BIT :: GLbitfield
+gl_MULTISAMPLE_BIT = 0x20000000
+
+gl_MULTISAMPLE_BIT_3DFX :: GLbitfield
+gl_MULTISAMPLE_BIT_3DFX = 0x20000000
+
+gl_MULTISAMPLE_BIT_ARB :: GLbitfield
+gl_MULTISAMPLE_BIT_ARB = 0x20000000
+
+gl_MULTISAMPLE_BIT_EXT :: GLbitfield
+gl_MULTISAMPLE_BIT_EXT = 0x20000000
+
+gl_MULTISAMPLE_BUFFER_BIT0_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT0_QCOM = 0x01000000
+
+gl_MULTISAMPLE_BUFFER_BIT1_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT1_QCOM = 0x02000000
+
+gl_MULTISAMPLE_BUFFER_BIT2_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT2_QCOM = 0x04000000
+
+gl_MULTISAMPLE_BUFFER_BIT3_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT3_QCOM = 0x08000000
+
+gl_MULTISAMPLE_BUFFER_BIT4_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT4_QCOM = 0x10000000
+
+gl_MULTISAMPLE_BUFFER_BIT5_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT5_QCOM = 0x20000000
+
+gl_MULTISAMPLE_BUFFER_BIT6_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT6_QCOM = 0x40000000
+
+gl_MULTISAMPLE_BUFFER_BIT7_QCOM :: GLbitfield
+gl_MULTISAMPLE_BUFFER_BIT7_QCOM = 0x80000000
+
+gl_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
+gl_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12
+
+gl_MULTISAMPLE_EXT :: GLenum
+gl_MULTISAMPLE_EXT = 0x809D
+
+gl_MULTISAMPLE_FILTER_HINT_NV :: GLenum
+gl_MULTISAMPLE_FILTER_HINT_NV = 0x8534
+
+gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: GLenum
+gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B
+
+gl_MULTISAMPLE_SGIS :: GLenum
+gl_MULTISAMPLE_SGIS = 0x809D
+
+gl_MULTIVIEW_EXT :: GLenum
+gl_MULTIVIEW_EXT = 0x90F1
+
+gl_MUL_ATI :: GLenum
+gl_MUL_ATI = 0x8964
+
+gl_MVP_MATRIX_EXT :: GLenum
+gl_MVP_MATRIX_EXT = 0x87E3
+
+gl_N3F_V3F :: GLenum
+gl_N3F_V3F = 0x2A25
+
+gl_NAMED_STRING_LENGTH_ARB :: GLenum
+gl_NAMED_STRING_LENGTH_ARB = 0x8DE9
+
+gl_NAMED_STRING_TYPE_ARB :: GLenum
+gl_NAMED_STRING_TYPE_ARB = 0x8DEA
+
+gl_NAME_LENGTH :: GLenum
+gl_NAME_LENGTH = 0x92F9
+
+gl_NAME_STACK_DEPTH :: GLenum
+gl_NAME_STACK_DEPTH = 0x0D70
+
+gl_NAND :: GLenum
+gl_NAND = 0x150E
+
+gl_NATIVE_GRAPHICS_BEGIN_HINT_PGI :: GLenum
+gl_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203
+
+gl_NATIVE_GRAPHICS_END_HINT_PGI :: GLenum
+gl_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204
+
+gl_NATIVE_GRAPHICS_HANDLE_PGI :: GLenum
+gl_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202
+
+gl_NEAREST :: GLenum
+gl_NEAREST = 0x2600
+
+gl_NEAREST_CLIPMAP_LINEAR_SGIX :: GLenum
+gl_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E
+
+gl_NEAREST_CLIPMAP_NEAREST_SGIX :: GLenum
+gl_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D
+
+gl_NEAREST_MIPMAP_LINEAR :: GLenum
+gl_NEAREST_MIPMAP_LINEAR = 0x2702
+
+gl_NEAREST_MIPMAP_NEAREST :: GLenum
+gl_NEAREST_MIPMAP_NEAREST = 0x2700
+
+gl_NEGATE_BIT_ATI :: GLbitfield
+gl_NEGATE_BIT_ATI = 0x00000004
+
+gl_NEGATIVE_ONE_EXT :: GLenum
+gl_NEGATIVE_ONE_EXT = 0x87DF
+
+gl_NEGATIVE_ONE_TO_ONE :: GLenum
+gl_NEGATIVE_ONE_TO_ONE = 0x935E
+
+gl_NEGATIVE_W_EXT :: GLenum
+gl_NEGATIVE_W_EXT = 0x87DC
+
+gl_NEGATIVE_X_EXT :: GLenum
+gl_NEGATIVE_X_EXT = 0x87D9
+
+gl_NEGATIVE_Y_EXT :: GLenum
+gl_NEGATIVE_Y_EXT = 0x87DA
+
+gl_NEGATIVE_Z_EXT :: GLenum
+gl_NEGATIVE_Z_EXT = 0x87DB
+
+gl_NEVER :: GLenum
+gl_NEVER = 0x0200
+
+gl_NEXT_BUFFER_NV :: GLenum
+gl_NEXT_BUFFER_NV = -2
+
+gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: GLenum
+gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025
+
+gl_NICEST :: GLenum
+gl_NICEST = 0x1102
+
+gl_NONE :: GLenum
+gl_NONE = 0
+
+gl_NONE_OES :: GLenum
+gl_NONE_OES = 0
+
+gl_NOOP :: GLenum
+gl_NOOP = 0x1505
+
+gl_NOR :: GLenum
+gl_NOR = 0x1508
+
+gl_NORMALIZE :: GLenum
+gl_NORMALIZE = 0x0BA1
+
+gl_NORMALIZED_RANGE_EXT :: GLenum
+gl_NORMALIZED_RANGE_EXT = 0x87E0
+
+gl_NORMAL_ARRAY :: GLenum
+gl_NORMAL_ARRAY = 0x8075
+
+gl_NORMAL_ARRAY_ADDRESS_NV :: GLenum
+gl_NORMAL_ARRAY_ADDRESS_NV = 0x8F22
+
+gl_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
+gl_NORMAL_ARRAY_BUFFER_BINDING = 0x8897
+
+gl_NORMAL_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897
+
+gl_NORMAL_ARRAY_COUNT_EXT :: GLenum
+gl_NORMAL_ARRAY_COUNT_EXT = 0x8080
+
+gl_NORMAL_ARRAY_EXT :: GLenum
+gl_NORMAL_ARRAY_EXT = 0x8075
+
+gl_NORMAL_ARRAY_LENGTH_NV :: GLenum
+gl_NORMAL_ARRAY_LENGTH_NV = 0x8F2C
+
+gl_NORMAL_ARRAY_LIST_IBM :: GLenum
+gl_NORMAL_ARRAY_LIST_IBM = 103071
+
+gl_NORMAL_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081
+
+gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
+gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6
+
+gl_NORMAL_ARRAY_POINTER :: GLenum
+gl_NORMAL_ARRAY_POINTER = 0x808F
+
+gl_NORMAL_ARRAY_POINTER_EXT :: GLenum
+gl_NORMAL_ARRAY_POINTER_EXT = 0x808F
+
+gl_NORMAL_ARRAY_STRIDE :: GLenum
+gl_NORMAL_ARRAY_STRIDE = 0x807F
+
+gl_NORMAL_ARRAY_STRIDE_EXT :: GLenum
+gl_NORMAL_ARRAY_STRIDE_EXT = 0x807F
+
+gl_NORMAL_ARRAY_TYPE :: GLenum
+gl_NORMAL_ARRAY_TYPE = 0x807E
+
+gl_NORMAL_ARRAY_TYPE_EXT :: GLenum
+gl_NORMAL_ARRAY_TYPE_EXT = 0x807E
+
+gl_NORMAL_BIT_PGI :: GLbitfield
+gl_NORMAL_BIT_PGI = 0x08000000
+
+gl_NORMAL_MAP :: GLenum
+gl_NORMAL_MAP = 0x8511
+
+gl_NORMAL_MAP_ARB :: GLenum
+gl_NORMAL_MAP_ARB = 0x8511
+
+gl_NORMAL_MAP_EXT :: GLenum
+gl_NORMAL_MAP_EXT = 0x8511
+
+gl_NORMAL_MAP_NV :: GLenum
+gl_NORMAL_MAP_NV = 0x8511
+
+gl_NORMAL_MAP_OES :: GLenum
+gl_NORMAL_MAP_OES = 0x8511
+
+gl_NOTEQUAL :: GLenum
+gl_NOTEQUAL = 0x0205
+
+gl_NO_ERROR :: GLenum
+gl_NO_ERROR = 0
+
+gl_NO_RESET_NOTIFICATION :: GLenum
+gl_NO_RESET_NOTIFICATION = 0x8261
+
+gl_NO_RESET_NOTIFICATION_ARB :: GLenum
+gl_NO_RESET_NOTIFICATION_ARB = 0x8261
+
+gl_NO_RESET_NOTIFICATION_EXT :: GLenum
+gl_NO_RESET_NOTIFICATION_EXT = 0x8261
+
+gl_NO_RESET_NOTIFICATION_KHR :: GLenum
+gl_NO_RESET_NOTIFICATION_KHR = 0x8261
+
+gl_NUM_ACTIVE_VARIABLES :: GLenum
+gl_NUM_ACTIVE_VARIABLES = 0x9304
+
+gl_NUM_COMPATIBLE_SUBROUTINES :: GLenum
+gl_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A
+
+gl_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
+gl_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2
+
+gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
+gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2
+
+gl_NUM_EXTENSIONS :: GLenum
+gl_NUM_EXTENSIONS = 0x821D
+
+gl_NUM_FILL_STREAMS_NV :: GLenum
+gl_NUM_FILL_STREAMS_NV = 0x8E29
+
+gl_NUM_FRAGMENT_CONSTANTS_ATI :: GLenum
+gl_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F
+
+gl_NUM_FRAGMENT_REGISTERS_ATI :: GLenum
+gl_NUM_FRAGMENT_REGISTERS_ATI = 0x896E
+
+gl_NUM_GENERAL_COMBINERS_NV :: GLenum
+gl_NUM_GENERAL_COMBINERS_NV = 0x854E
+
+gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI :: GLenum
+gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973
+
+gl_NUM_INSTRUCTIONS_PER_PASS_ATI :: GLenum
+gl_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971
+
+gl_NUM_INSTRUCTIONS_TOTAL_ATI :: GLenum
+gl_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972
+
+gl_NUM_LOOPBACK_COMPONENTS_ATI :: GLenum
+gl_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974
+
+gl_NUM_PASSES_ATI :: GLenum
+gl_NUM_PASSES_ATI = 0x8970
+
+gl_NUM_PROGRAM_BINARY_FORMATS :: GLenum
+gl_NUM_PROGRAM_BINARY_FORMATS = 0x87FE
+
+gl_NUM_PROGRAM_BINARY_FORMATS_OES :: GLenum
+gl_NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE
+
+gl_NUM_SAMPLE_COUNTS :: GLenum
+gl_NUM_SAMPLE_COUNTS = 0x9380
+
+gl_NUM_SHADER_BINARY_FORMATS :: GLenum
+gl_NUM_SHADER_BINARY_FORMATS = 0x8DF9
+
+gl_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
+gl_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9
+
+gl_NUM_SPARSE_LEVELS_ARB :: GLenum
+gl_NUM_SPARSE_LEVELS_ARB = 0x91AA
+
+gl_NUM_VIDEO_CAPTURE_STREAMS_NV :: GLenum
+gl_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024
+
+gl_NUM_VIRTUAL_PAGE_SIZES_ARB :: GLenum
+gl_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8
+
+gl_OBJECT_ACTIVE_ATTRIBUTES_ARB :: GLenum
+gl_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89
+
+gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB :: GLenum
+gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A
+
+gl_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum
+gl_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86
+
+gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum
+gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87
+
+gl_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum
+gl_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85
+
+gl_OBJECT_BUFFER_SIZE_ATI :: GLenum
+gl_OBJECT_BUFFER_SIZE_ATI = 0x8764
+
+gl_OBJECT_BUFFER_USAGE_ATI :: GLenum
+gl_OBJECT_BUFFER_USAGE_ATI = 0x8765
+
+gl_OBJECT_COMPILE_STATUS_ARB :: GLenum
+gl_OBJECT_COMPILE_STATUS_ARB = 0x8B81
+
+gl_OBJECT_DELETE_STATUS_ARB :: GLenum
+gl_OBJECT_DELETE_STATUS_ARB = 0x8B80
+
+gl_OBJECT_DISTANCE_TO_LINE_SGIS :: GLenum
+gl_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3
+
+gl_OBJECT_DISTANCE_TO_POINT_SGIS :: GLenum
+gl_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1
+
+gl_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum
+gl_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84
+
+gl_OBJECT_LINEAR :: GLenum
+gl_OBJECT_LINEAR = 0x2401
+
+gl_OBJECT_LINEAR_NV :: GLenum
+gl_OBJECT_LINEAR_NV = 0x2401
+
+gl_OBJECT_LINE_SGIS :: GLenum
+gl_OBJECT_LINE_SGIS = 0x81F7
+
+gl_OBJECT_LINK_STATUS_ARB :: GLenum
+gl_OBJECT_LINK_STATUS_ARB = 0x8B82
+
+gl_OBJECT_PLANE :: GLenum
+gl_OBJECT_PLANE = 0x2501
+
+gl_OBJECT_POINT_SGIS :: GLenum
+gl_OBJECT_POINT_SGIS = 0x81F5
+
+gl_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum
+gl_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88
+
+gl_OBJECT_SUBTYPE_ARB :: GLenum
+gl_OBJECT_SUBTYPE_ARB = 0x8B4F
+
+gl_OBJECT_TYPE :: GLenum
+gl_OBJECT_TYPE = 0x9112
+
+gl_OBJECT_TYPE_APPLE :: GLenum
+gl_OBJECT_TYPE_APPLE = 0x9112
+
+gl_OBJECT_TYPE_ARB :: GLenum
+gl_OBJECT_TYPE_ARB = 0x8B4E
+
+gl_OBJECT_VALIDATE_STATUS_ARB :: GLenum
+gl_OBJECT_VALIDATE_STATUS_ARB = 0x8B83
+
+gl_OCCLUSION_QUERY_EVENT_MASK_AMD :: GLenum
+gl_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F
+
+gl_OCCLUSION_TEST_HP :: GLenum
+gl_OCCLUSION_TEST_HP = 0x8165
+
+gl_OCCLUSION_TEST_RESULT_HP :: GLenum
+gl_OCCLUSION_TEST_RESULT_HP = 0x8166
+
+gl_OFFSET :: GLenum
+gl_OFFSET = 0x92FC
+
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV :: GLenum
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856
+
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
+gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857
+
+gl_OFFSET_HILO_TEXTURE_2D_NV :: GLenum
+gl_OFFSET_HILO_TEXTURE_2D_NV = 0x8854
+
+gl_OFFSET_HILO_TEXTURE_RECTANGLE_NV :: GLenum
+gl_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855
+
+gl_OFFSET_PROJECTIVE_TEXTURE_2D_NV :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850
+
+gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851
+
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852
+
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
+gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853
+
+gl_OFFSET_TEXTURE_2D_BIAS_NV :: GLenum
+gl_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3
+
+gl_OFFSET_TEXTURE_2D_MATRIX_NV :: GLenum
+gl_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1
+
+gl_OFFSET_TEXTURE_2D_NV :: GLenum
+gl_OFFSET_TEXTURE_2D_NV = 0x86E8
+
+gl_OFFSET_TEXTURE_2D_SCALE_NV :: GLenum
+gl_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2
+
+gl_OFFSET_TEXTURE_BIAS_NV :: GLenum
+gl_OFFSET_TEXTURE_BIAS_NV = 0x86E3
+
+gl_OFFSET_TEXTURE_MATRIX_NV :: GLenum
+gl_OFFSET_TEXTURE_MATRIX_NV = 0x86E1
+
+gl_OFFSET_TEXTURE_RECTANGLE_NV :: GLenum
+gl_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C
+
+gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
+gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D
+
+gl_OFFSET_TEXTURE_SCALE_NV :: GLenum
+gl_OFFSET_TEXTURE_SCALE_NV = 0x86E2
+
+gl_ONE :: GLenum
+gl_ONE = 1
+
+gl_ONE_EXT :: GLenum
+gl_ONE_EXT = 0x87DE
+
+gl_ONE_MINUS_CONSTANT_ALPHA :: GLenum
+gl_ONE_MINUS_CONSTANT_ALPHA = 0x8004
+
+gl_ONE_MINUS_CONSTANT_ALPHA_EXT :: GLenum
+gl_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004
+
+gl_ONE_MINUS_CONSTANT_COLOR :: GLenum
+gl_ONE_MINUS_CONSTANT_COLOR = 0x8002
+
+gl_ONE_MINUS_CONSTANT_COLOR_EXT :: GLenum
+gl_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002
+
+gl_ONE_MINUS_DST_ALPHA :: GLenum
+gl_ONE_MINUS_DST_ALPHA = 0x0305
+
+gl_ONE_MINUS_DST_COLOR :: GLenum
+gl_ONE_MINUS_DST_COLOR = 0x0307
+
+gl_ONE_MINUS_SRC1_ALPHA :: GLenum
+gl_ONE_MINUS_SRC1_ALPHA = 0x88FB
+
+gl_ONE_MINUS_SRC1_COLOR :: GLenum
+gl_ONE_MINUS_SRC1_COLOR = 0x88FA
+
+gl_ONE_MINUS_SRC_ALPHA :: GLenum
+gl_ONE_MINUS_SRC_ALPHA = 0x0303
+
+gl_ONE_MINUS_SRC_COLOR :: GLenum
+gl_ONE_MINUS_SRC_COLOR = 0x0301
+
+gl_OPERAND0_ALPHA :: GLenum
+gl_OPERAND0_ALPHA = 0x8598
+
+gl_OPERAND0_ALPHA_ARB :: GLenum
+gl_OPERAND0_ALPHA_ARB = 0x8598
+
+gl_OPERAND0_ALPHA_EXT :: GLenum
+gl_OPERAND0_ALPHA_EXT = 0x8598
+
+gl_OPERAND0_RGB :: GLenum
+gl_OPERAND0_RGB = 0x8590
+
+gl_OPERAND0_RGB_ARB :: GLenum
+gl_OPERAND0_RGB_ARB = 0x8590
+
+gl_OPERAND0_RGB_EXT :: GLenum
+gl_OPERAND0_RGB_EXT = 0x8590
+
+gl_OPERAND1_ALPHA :: GLenum
+gl_OPERAND1_ALPHA = 0x8599
+
+gl_OPERAND1_ALPHA_ARB :: GLenum
+gl_OPERAND1_ALPHA_ARB = 0x8599
+
+gl_OPERAND1_ALPHA_EXT :: GLenum
+gl_OPERAND1_ALPHA_EXT = 0x8599
+
+gl_OPERAND1_RGB :: GLenum
+gl_OPERAND1_RGB = 0x8591
+
+gl_OPERAND1_RGB_ARB :: GLenum
+gl_OPERAND1_RGB_ARB = 0x8591
+
+gl_OPERAND1_RGB_EXT :: GLenum
+gl_OPERAND1_RGB_EXT = 0x8591
+
+gl_OPERAND2_ALPHA :: GLenum
+gl_OPERAND2_ALPHA = 0x859A
+
+gl_OPERAND2_ALPHA_ARB :: GLenum
+gl_OPERAND2_ALPHA_ARB = 0x859A
+
+gl_OPERAND2_ALPHA_EXT :: GLenum
+gl_OPERAND2_ALPHA_EXT = 0x859A
+
+gl_OPERAND2_RGB :: GLenum
+gl_OPERAND2_RGB = 0x8592
+
+gl_OPERAND2_RGB_ARB :: GLenum
+gl_OPERAND2_RGB_ARB = 0x8592
+
+gl_OPERAND2_RGB_EXT :: GLenum
+gl_OPERAND2_RGB_EXT = 0x8592
+
+gl_OPERAND3_ALPHA_NV :: GLenum
+gl_OPERAND3_ALPHA_NV = 0x859B
+
+gl_OPERAND3_RGB_NV :: GLenum
+gl_OPERAND3_RGB_NV = 0x8593
+
+gl_OP_ADD_EXT :: GLenum
+gl_OP_ADD_EXT = 0x8787
+
+gl_OP_CLAMP_EXT :: GLenum
+gl_OP_CLAMP_EXT = 0x878E
+
+gl_OP_CROSS_PRODUCT_EXT :: GLenum
+gl_OP_CROSS_PRODUCT_EXT = 0x8797
+
+gl_OP_DOT3_EXT :: GLenum
+gl_OP_DOT3_EXT = 0x8784
+
+gl_OP_DOT4_EXT :: GLenum
+gl_OP_DOT4_EXT = 0x8785
+
+gl_OP_EXP_BASE_2_EXT :: GLenum
+gl_OP_EXP_BASE_2_EXT = 0x8791
+
+gl_OP_FLOOR_EXT :: GLenum
+gl_OP_FLOOR_EXT = 0x878F
+
+gl_OP_FRAC_EXT :: GLenum
+gl_OP_FRAC_EXT = 0x8789
+
+gl_OP_INDEX_EXT :: GLenum
+gl_OP_INDEX_EXT = 0x8782
+
+gl_OP_LOG_BASE_2_EXT :: GLenum
+gl_OP_LOG_BASE_2_EXT = 0x8792
+
+gl_OP_MADD_EXT :: GLenum
+gl_OP_MADD_EXT = 0x8788
+
+gl_OP_MAX_EXT :: GLenum
+gl_OP_MAX_EXT = 0x878A
+
+gl_OP_MIN_EXT :: GLenum
+gl_OP_MIN_EXT = 0x878B
+
+gl_OP_MOV_EXT :: GLenum
+gl_OP_MOV_EXT = 0x8799
+
+gl_OP_MULTIPLY_MATRIX_EXT :: GLenum
+gl_OP_MULTIPLY_MATRIX_EXT = 0x8798
+
+gl_OP_MUL_EXT :: GLenum
+gl_OP_MUL_EXT = 0x8786
+
+gl_OP_NEGATE_EXT :: GLenum
+gl_OP_NEGATE_EXT = 0x8783
+
+gl_OP_POWER_EXT :: GLenum
+gl_OP_POWER_EXT = 0x8793
+
+gl_OP_RECIP_EXT :: GLenum
+gl_OP_RECIP_EXT = 0x8794
+
+gl_OP_RECIP_SQRT_EXT :: GLenum
+gl_OP_RECIP_SQRT_EXT = 0x8795
+
+gl_OP_ROUND_EXT :: GLenum
+gl_OP_ROUND_EXT = 0x8790
+
+gl_OP_SET_GE_EXT :: GLenum
+gl_OP_SET_GE_EXT = 0x878C
+
+gl_OP_SET_LT_EXT :: GLenum
+gl_OP_SET_LT_EXT = 0x878D
+
+gl_OP_SUB_EXT :: GLenum
+gl_OP_SUB_EXT = 0x8796
+
+gl_OR :: GLenum
+gl_OR = 0x1507
+
+gl_ORDER :: GLenum
+gl_ORDER = 0x0A01
+
+gl_OR_INVERTED :: GLenum
+gl_OR_INVERTED = 0x150D
+
+gl_OR_REVERSE :: GLenum
+gl_OR_REVERSE = 0x150B
+
+gl_OUTPUT_COLOR0_EXT :: GLenum
+gl_OUTPUT_COLOR0_EXT = 0x879B
+
+gl_OUTPUT_COLOR1_EXT :: GLenum
+gl_OUTPUT_COLOR1_EXT = 0x879C
+
+gl_OUTPUT_FOG_EXT :: GLenum
+gl_OUTPUT_FOG_EXT = 0x87BD
+
+gl_OUTPUT_TEXTURE_COORD0_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD0_EXT = 0x879D
+
+gl_OUTPUT_TEXTURE_COORD10_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7
+
+gl_OUTPUT_TEXTURE_COORD11_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8
+
+gl_OUTPUT_TEXTURE_COORD12_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9
+
+gl_OUTPUT_TEXTURE_COORD13_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA
+
+gl_OUTPUT_TEXTURE_COORD14_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB
+
+gl_OUTPUT_TEXTURE_COORD15_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC
+
+gl_OUTPUT_TEXTURE_COORD16_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD
+
+gl_OUTPUT_TEXTURE_COORD17_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE
+
+gl_OUTPUT_TEXTURE_COORD18_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF
+
+gl_OUTPUT_TEXTURE_COORD19_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0
+
+gl_OUTPUT_TEXTURE_COORD1_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD1_EXT = 0x879E
+
+gl_OUTPUT_TEXTURE_COORD20_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1
+
+gl_OUTPUT_TEXTURE_COORD21_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2
+
+gl_OUTPUT_TEXTURE_COORD22_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3
+
+gl_OUTPUT_TEXTURE_COORD23_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4
+
+gl_OUTPUT_TEXTURE_COORD24_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5
+
+gl_OUTPUT_TEXTURE_COORD25_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6
+
+gl_OUTPUT_TEXTURE_COORD26_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7
+
+gl_OUTPUT_TEXTURE_COORD27_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8
+
+gl_OUTPUT_TEXTURE_COORD28_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9
+
+gl_OUTPUT_TEXTURE_COORD29_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA
+
+gl_OUTPUT_TEXTURE_COORD2_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD2_EXT = 0x879F
+
+gl_OUTPUT_TEXTURE_COORD30_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB
+
+gl_OUTPUT_TEXTURE_COORD31_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC
+
+gl_OUTPUT_TEXTURE_COORD3_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0
+
+gl_OUTPUT_TEXTURE_COORD4_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1
+
+gl_OUTPUT_TEXTURE_COORD5_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2
+
+gl_OUTPUT_TEXTURE_COORD6_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3
+
+gl_OUTPUT_TEXTURE_COORD7_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4
+
+gl_OUTPUT_TEXTURE_COORD8_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5
+
+gl_OUTPUT_TEXTURE_COORD9_EXT :: GLenum
+gl_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6
+
+gl_OUTPUT_VERTEX_EXT :: GLenum
+gl_OUTPUT_VERTEX_EXT = 0x879A
+
+gl_OUT_OF_MEMORY :: GLenum
+gl_OUT_OF_MEMORY = 0x0505
+
+gl_OVERLAY_KHR :: GLenum
+gl_OVERLAY_KHR = 0x9296
+
+gl_OVERLAY_NV :: GLenum
+gl_OVERLAY_NV = 0x9296
+
+gl_PACK_ALIGNMENT :: GLenum
+gl_PACK_ALIGNMENT = 0x0D05
+
+gl_PACK_CMYK_HINT_EXT :: GLenum
+gl_PACK_CMYK_HINT_EXT = 0x800E
+
+gl_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
+gl_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D
+
+gl_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
+gl_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C
+
+gl_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
+gl_PACK_COMPRESSED_BLOCK_SIZE = 0x912E
+
+gl_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
+gl_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B
+
+gl_PACK_COMPRESSED_SIZE_SGIX :: GLenum
+gl_PACK_COMPRESSED_SIZE_SGIX = 0x831C
+
+gl_PACK_IMAGE_DEPTH_SGIS :: GLenum
+gl_PACK_IMAGE_DEPTH_SGIS = 0x8131
+
+gl_PACK_IMAGE_HEIGHT :: GLenum
+gl_PACK_IMAGE_HEIGHT = 0x806C
+
+gl_PACK_IMAGE_HEIGHT_EXT :: GLenum
+gl_PACK_IMAGE_HEIGHT_EXT = 0x806C
+
+gl_PACK_INVERT_MESA :: GLenum
+gl_PACK_INVERT_MESA = 0x8758
+
+gl_PACK_LSB_FIRST :: GLenum
+gl_PACK_LSB_FIRST = 0x0D01
+
+gl_PACK_MAX_COMPRESSED_SIZE_SGIX :: GLenum
+gl_PACK_MAX_COMPRESSED_SIZE_SGIX = 0x831B
+
+gl_PACK_RESAMPLE_OML :: GLenum
+gl_PACK_RESAMPLE_OML = 0x8984
+
+gl_PACK_RESAMPLE_SGIX :: GLenum
+gl_PACK_RESAMPLE_SGIX = 0x842E
+
+gl_PACK_REVERSE_ROW_ORDER_ANGLE :: GLenum
+gl_PACK_REVERSE_ROW_ORDER_ANGLE = 0x93A4
+
+gl_PACK_ROW_BYTES_APPLE :: GLenum
+gl_PACK_ROW_BYTES_APPLE = 0x8A15
+
+gl_PACK_ROW_LENGTH :: GLenum
+gl_PACK_ROW_LENGTH = 0x0D02
+
+gl_PACK_SKIP_IMAGES :: GLenum
+gl_PACK_SKIP_IMAGES = 0x806B
+
+gl_PACK_SKIP_IMAGES_EXT :: GLenum
+gl_PACK_SKIP_IMAGES_EXT = 0x806B
+
+gl_PACK_SKIP_PIXELS :: GLenum
+gl_PACK_SKIP_PIXELS = 0x0D04
+
+gl_PACK_SKIP_ROWS :: GLenum
+gl_PACK_SKIP_ROWS = 0x0D03
+
+gl_PACK_SKIP_VOLUMES_SGIS :: GLenum
+gl_PACK_SKIP_VOLUMES_SGIS = 0x8130
+
+gl_PACK_SUBSAMPLE_RATE_SGIX :: GLenum
+gl_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0
+
+gl_PACK_SWAP_BYTES :: GLenum
+gl_PACK_SWAP_BYTES = 0x0D00
+
+gl_PALETTE4_R5_G6_B5_OES :: GLenum
+gl_PALETTE4_R5_G6_B5_OES = 0x8B92
+
+gl_PALETTE4_RGB5_A1_OES :: GLenum
+gl_PALETTE4_RGB5_A1_OES = 0x8B94
+
+gl_PALETTE4_RGB8_OES :: GLenum
+gl_PALETTE4_RGB8_OES = 0x8B90
+
+gl_PALETTE4_RGBA4_OES :: GLenum
+gl_PALETTE4_RGBA4_OES = 0x8B93
+
+gl_PALETTE4_RGBA8_OES :: GLenum
+gl_PALETTE4_RGBA8_OES = 0x8B91
+
+gl_PALETTE8_R5_G6_B5_OES :: GLenum
+gl_PALETTE8_R5_G6_B5_OES = 0x8B97
+
+gl_PALETTE8_RGB5_A1_OES :: GLenum
+gl_PALETTE8_RGB5_A1_OES = 0x8B99
+
+gl_PALETTE8_RGB8_OES :: GLenum
+gl_PALETTE8_RGB8_OES = 0x8B95
+
+gl_PALETTE8_RGBA4_OES :: GLenum
+gl_PALETTE8_RGBA4_OES = 0x8B98
+
+gl_PALETTE8_RGBA8_OES :: GLenum
+gl_PALETTE8_RGBA8_OES = 0x8B96
+
+gl_PARALLEL_ARRAYS_INTEL :: GLenum
+gl_PARALLEL_ARRAYS_INTEL = 0x83F4
+
+gl_PARAMETER_BUFFER_ARB :: GLenum
+gl_PARAMETER_BUFFER_ARB = 0x80EE
+
+gl_PARAMETER_BUFFER_BINDING_ARB :: GLenum
+gl_PARAMETER_BUFFER_BINDING_ARB = 0x80EF
+
+gl_PARTIAL_SUCCESS_NV :: GLenum
+gl_PARTIAL_SUCCESS_NV = 0x902E
+
+gl_PASS_THROUGH_NV :: GLenum
+gl_PASS_THROUGH_NV = 0x86E6
+
+gl_PASS_THROUGH_TOKEN :: GLenum
+gl_PASS_THROUGH_TOKEN = 0x0700
+
+gl_PATCHES :: GLenum
+gl_PATCHES = 0x000E
+
+gl_PATCHES_EXT :: GLenum
+gl_PATCHES_EXT = 0x000E
+
+gl_PATCHES_OES :: GLenum
+gl_PATCHES_OES = 0x000E
+
+gl_PATCH_DEFAULT_INNER_LEVEL :: GLenum
+gl_PATCH_DEFAULT_INNER_LEVEL = 0x8E73
+
+gl_PATCH_DEFAULT_INNER_LEVEL_EXT :: GLenum
+gl_PATCH_DEFAULT_INNER_LEVEL_EXT = 0x8E73
+
+gl_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
+gl_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74
+
+gl_PATCH_DEFAULT_OUTER_LEVEL_EXT :: GLenum
+gl_PATCH_DEFAULT_OUTER_LEVEL_EXT = 0x8E74
+
+gl_PATCH_VERTICES :: GLenum
+gl_PATCH_VERTICES = 0x8E72
+
+gl_PATCH_VERTICES_EXT :: GLenum
+gl_PATCH_VERTICES_EXT = 0x8E72
+
+gl_PATCH_VERTICES_OES :: GLenum
+gl_PATCH_VERTICES_OES = 0x8E72
+
+gl_PATH_CLIENT_LENGTH_NV :: GLenum
+gl_PATH_CLIENT_LENGTH_NV = 0x907F
+
+gl_PATH_COMMAND_COUNT_NV :: GLenum
+gl_PATH_COMMAND_COUNT_NV = 0x909D
+
+gl_PATH_COMPUTED_LENGTH_NV :: GLenum
+gl_PATH_COMPUTED_LENGTH_NV = 0x90A0
+
+gl_PATH_COORD_COUNT_NV :: GLenum
+gl_PATH_COORD_COUNT_NV = 0x909E
+
+gl_PATH_COVER_DEPTH_FUNC_NV :: GLenum
+gl_PATH_COVER_DEPTH_FUNC_NV = 0x90BF
+
+gl_PATH_DASH_ARRAY_COUNT_NV :: GLenum
+gl_PATH_DASH_ARRAY_COUNT_NV = 0x909F
+
+gl_PATH_DASH_CAPS_NV :: GLenum
+gl_PATH_DASH_CAPS_NV = 0x907B
+
+gl_PATH_DASH_OFFSET_NV :: GLenum
+gl_PATH_DASH_OFFSET_NV = 0x907E
+
+gl_PATH_DASH_OFFSET_RESET_NV :: GLenum
+gl_PATH_DASH_OFFSET_RESET_NV = 0x90B4
+
+gl_PATH_END_CAPS_NV :: GLenum
+gl_PATH_END_CAPS_NV = 0x9076
+
+gl_PATH_ERROR_POSITION_NV :: GLenum
+gl_PATH_ERROR_POSITION_NV = 0x90AB
+
+gl_PATH_FILL_BOUNDING_BOX_NV :: GLenum
+gl_PATH_FILL_BOUNDING_BOX_NV = 0x90A1
+
+gl_PATH_FILL_COVER_MODE_NV :: GLenum
+gl_PATH_FILL_COVER_MODE_NV = 0x9082
+
+gl_PATH_FILL_MASK_NV :: GLenum
+gl_PATH_FILL_MASK_NV = 0x9081
+
+gl_PATH_FILL_MODE_NV :: GLenum
+gl_PATH_FILL_MODE_NV = 0x9080
+
+gl_PATH_FOG_GEN_MODE_NV :: GLenum
+gl_PATH_FOG_GEN_MODE_NV = 0x90AC
+
+gl_PATH_FORMAT_PS_NV :: GLenum
+gl_PATH_FORMAT_PS_NV = 0x9071
+
+gl_PATH_FORMAT_SVG_NV :: GLenum
+gl_PATH_FORMAT_SVG_NV = 0x9070
+
+gl_PATH_GEN_COEFF_NV :: GLenum
+gl_PATH_GEN_COEFF_NV = 0x90B1
+
+gl_PATH_GEN_COLOR_FORMAT_NV :: GLenum
+gl_PATH_GEN_COLOR_FORMAT_NV = 0x90B2
+
+gl_PATH_GEN_COMPONENTS_NV :: GLenum
+gl_PATH_GEN_COMPONENTS_NV = 0x90B3
+
+gl_PATH_GEN_MODE_NV :: GLenum
+gl_PATH_GEN_MODE_NV = 0x90B0
+
+gl_PATH_INITIAL_DASH_CAP_NV :: GLenum
+gl_PATH_INITIAL_DASH_CAP_NV = 0x907C
+
+gl_PATH_INITIAL_END_CAP_NV :: GLenum
+gl_PATH_INITIAL_END_CAP_NV = 0x9077
+
+gl_PATH_JOIN_STYLE_NV :: GLenum
+gl_PATH_JOIN_STYLE_NV = 0x9079
+
+gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NV :: GLenum
+gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36
+
+gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV :: GLenum
+gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38
+
+gl_PATH_MITER_LIMIT_NV :: GLenum
+gl_PATH_MITER_LIMIT_NV = 0x907A
+
+gl_PATH_MODELVIEW_MATRIX_NV :: GLenum
+gl_PATH_MODELVIEW_MATRIX_NV = 0x0BA6
+
+gl_PATH_MODELVIEW_NV :: GLenum
+gl_PATH_MODELVIEW_NV = 0x1700
+
+gl_PATH_MODELVIEW_STACK_DEPTH_NV :: GLenum
+gl_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3
+
+gl_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
+gl_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A
+
+gl_PATH_PROJECTION_MATRIX_NV :: GLenum
+gl_PATH_PROJECTION_MATRIX_NV = 0x0BA7
+
+gl_PATH_PROJECTION_NV :: GLenum
+gl_PATH_PROJECTION_NV = 0x1701
+
+gl_PATH_PROJECTION_STACK_DEPTH_NV :: GLenum
+gl_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4
+
+gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV :: GLenum
+gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD
+
+gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV :: GLenum
+gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE
+
+gl_PATH_STENCIL_FUNC_NV :: GLenum
+gl_PATH_STENCIL_FUNC_NV = 0x90B7
+
+gl_PATH_STENCIL_REF_NV :: GLenum
+gl_PATH_STENCIL_REF_NV = 0x90B8
+
+gl_PATH_STENCIL_VALUE_MASK_NV :: GLenum
+gl_PATH_STENCIL_VALUE_MASK_NV = 0x90B9
+
+gl_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
+gl_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2
+
+gl_PATH_STROKE_COVER_MODE_NV :: GLenum
+gl_PATH_STROKE_COVER_MODE_NV = 0x9083
+
+gl_PATH_STROKE_MASK_NV :: GLenum
+gl_PATH_STROKE_MASK_NV = 0x9084
+
+gl_PATH_STROKE_WIDTH_NV :: GLenum
+gl_PATH_STROKE_WIDTH_NV = 0x9075
+
+gl_PATH_TERMINAL_DASH_CAP_NV :: GLenum
+gl_PATH_TERMINAL_DASH_CAP_NV = 0x907D
+
+gl_PATH_TERMINAL_END_CAP_NV :: GLenum
+gl_PATH_TERMINAL_END_CAP_NV = 0x9078
+
+gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV :: GLenum
+gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3
+
+gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV :: GLenum
+gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4
+
+gl_PERCENTAGE_AMD :: GLenum
+gl_PERCENTAGE_AMD = 0x8BC3
+
+gl_PERFMON_GLOBAL_MODE_QCOM :: GLenum
+gl_PERFMON_GLOBAL_MODE_QCOM = 0x8FA0
+
+gl_PERFMON_RESULT_AMD :: GLenum
+gl_PERFMON_RESULT_AMD = 0x8BC6
+
+gl_PERFMON_RESULT_AVAILABLE_AMD :: GLenum
+gl_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4
+
+gl_PERFMON_RESULT_SIZE_AMD :: GLenum
+gl_PERFMON_RESULT_SIZE_AMD = 0x8BC5
+
+gl_PERFORMANCE_MONITOR_AMD :: GLenum
+gl_PERFORMANCE_MONITOR_AMD = 0x9152
+
+gl_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC
+
+gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB
+
+gl_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA
+
+gl_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8
+
+gl_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9
+
+gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF
+
+gl_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1
+
+gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2
+
+gl_PERFQUERY_COUNTER_EVENT_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0
+
+gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE
+
+gl_PERFQUERY_COUNTER_RAW_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4
+
+gl_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3
+
+gl_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: GLenum
+gl_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5
+
+gl_PERFQUERY_DONOT_FLUSH_INTEL :: GLenum
+gl_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9
+
+gl_PERFQUERY_FLUSH_INTEL :: GLenum
+gl_PERFQUERY_FLUSH_INTEL = 0x83FA
+
+gl_PERFQUERY_GLOBAL_CONTEXT_INTEL :: GLbitfield
+gl_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001
+
+gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: GLenum
+gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500
+
+gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: GLenum
+gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD
+
+gl_PERFQUERY_SINGLE_CONTEXT_INTEL :: GLbitfield
+gl_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000
+
+gl_PERFQUERY_WAIT_INTEL :: GLenum
+gl_PERFQUERY_WAIT_INTEL = 0x83FB
+
+gl_PERSPECTIVE_CORRECTION_HINT :: GLenum
+gl_PERSPECTIVE_CORRECTION_HINT = 0x0C50
+
+gl_PERTURB_EXT :: GLenum
+gl_PERTURB_EXT = 0x85AE
+
+gl_PER_STAGE_CONSTANTS_NV :: GLenum
+gl_PER_STAGE_CONSTANTS_NV = 0x8535
+
+gl_PHONG_HINT_WIN :: GLenum
+gl_PHONG_HINT_WIN = 0x80EB
+
+gl_PHONG_WIN :: GLenum
+gl_PHONG_WIN = 0x80EA
+
+gl_PINLIGHT_NV :: GLenum
+gl_PINLIGHT_NV = 0x92A8
+
+gl_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
+gl_PIXEL_BUFFER_BARRIER_BIT = 0x00000080
+
+gl_PIXEL_BUFFER_BARRIER_BIT_EXT :: GLbitfield
+gl_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080
+
+gl_PIXEL_COUNTER_BITS_NV :: GLenum
+gl_PIXEL_COUNTER_BITS_NV = 0x8864
+
+gl_PIXEL_COUNT_AVAILABLE_NV :: GLenum
+gl_PIXEL_COUNT_AVAILABLE_NV = 0x8867
+
+gl_PIXEL_COUNT_NV :: GLenum
+gl_PIXEL_COUNT_NV = 0x8866
+
+gl_PIXEL_CUBIC_WEIGHT_EXT :: GLenum
+gl_PIXEL_CUBIC_WEIGHT_EXT = 0x8333
+
+gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: GLenum
+gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355
+
+gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: GLenum
+gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354
+
+gl_PIXEL_GROUP_COLOR_SGIS :: GLenum
+gl_PIXEL_GROUP_COLOR_SGIS = 0x8356
+
+gl_PIXEL_MAG_FILTER_EXT :: GLenum
+gl_PIXEL_MAG_FILTER_EXT = 0x8331
+
+gl_PIXEL_MAP_A_TO_A :: GLenum
+gl_PIXEL_MAP_A_TO_A = 0x0C79
+
+gl_PIXEL_MAP_A_TO_A_SIZE :: GLenum
+gl_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9
+
+gl_PIXEL_MAP_B_TO_B :: GLenum
+gl_PIXEL_MAP_B_TO_B = 0x0C78
+
+gl_PIXEL_MAP_B_TO_B_SIZE :: GLenum
+gl_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8
+
+gl_PIXEL_MAP_G_TO_G :: GLenum
+gl_PIXEL_MAP_G_TO_G = 0x0C77
+
+gl_PIXEL_MAP_G_TO_G_SIZE :: GLenum
+gl_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7
+
+gl_PIXEL_MAP_I_TO_A :: GLenum
+gl_PIXEL_MAP_I_TO_A = 0x0C75
+
+gl_PIXEL_MAP_I_TO_A_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5
+
+gl_PIXEL_MAP_I_TO_B :: GLenum
+gl_PIXEL_MAP_I_TO_B = 0x0C74
+
+gl_PIXEL_MAP_I_TO_B_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4
+
+gl_PIXEL_MAP_I_TO_G :: GLenum
+gl_PIXEL_MAP_I_TO_G = 0x0C73
+
+gl_PIXEL_MAP_I_TO_G_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3
+
+gl_PIXEL_MAP_I_TO_I :: GLenum
+gl_PIXEL_MAP_I_TO_I = 0x0C70
+
+gl_PIXEL_MAP_I_TO_I_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0
+
+gl_PIXEL_MAP_I_TO_R :: GLenum
+gl_PIXEL_MAP_I_TO_R = 0x0C72
+
+gl_PIXEL_MAP_I_TO_R_SIZE :: GLenum
+gl_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2
+
+gl_PIXEL_MAP_R_TO_R :: GLenum
+gl_PIXEL_MAP_R_TO_R = 0x0C76
+
+gl_PIXEL_MAP_R_TO_R_SIZE :: GLenum
+gl_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6
+
+gl_PIXEL_MAP_S_TO_S :: GLenum
+gl_PIXEL_MAP_S_TO_S = 0x0C71
+
+gl_PIXEL_MAP_S_TO_S_SIZE :: GLenum
+gl_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1
+
+gl_PIXEL_MIN_FILTER_EXT :: GLenum
+gl_PIXEL_MIN_FILTER_EXT = 0x8332
+
+gl_PIXEL_MODE_BIT :: GLbitfield
+gl_PIXEL_MODE_BIT = 0x00000020
+
+gl_PIXEL_PACK_BUFFER :: GLenum
+gl_PIXEL_PACK_BUFFER = 0x88EB
+
+gl_PIXEL_PACK_BUFFER_ARB :: GLenum
+gl_PIXEL_PACK_BUFFER_ARB = 0x88EB
+
+gl_PIXEL_PACK_BUFFER_BINDING :: GLenum
+gl_PIXEL_PACK_BUFFER_BINDING = 0x88ED
+
+gl_PIXEL_PACK_BUFFER_BINDING_ARB :: GLenum
+gl_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED
+
+gl_PIXEL_PACK_BUFFER_BINDING_EXT :: GLenum
+gl_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED
+
+gl_PIXEL_PACK_BUFFER_EXT :: GLenum
+gl_PIXEL_PACK_BUFFER_EXT = 0x88EB
+
+gl_PIXEL_SUBSAMPLE_2424_SGIX :: GLenum
+gl_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3
+
+gl_PIXEL_SUBSAMPLE_4242_SGIX :: GLenum
+gl_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4
+
+gl_PIXEL_SUBSAMPLE_4444_SGIX :: GLenum
+gl_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2
+
+gl_PIXEL_TEXTURE_SGIS :: GLenum
+gl_PIXEL_TEXTURE_SGIS = 0x8353
+
+gl_PIXEL_TEX_GEN_ALPHA_LS_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189
+
+gl_PIXEL_TEX_GEN_ALPHA_MS_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A
+
+gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188
+
+gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187
+
+gl_PIXEL_TEX_GEN_MODE_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_MODE_SGIX = 0x832B
+
+gl_PIXEL_TEX_GEN_Q_CEILING_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184
+
+gl_PIXEL_TEX_GEN_Q_FLOOR_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186
+
+gl_PIXEL_TEX_GEN_Q_ROUND_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185
+
+gl_PIXEL_TEX_GEN_SGIX :: GLenum
+gl_PIXEL_TEX_GEN_SGIX = 0x8139
+
+gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX :: GLenum
+gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E
+
+gl_PIXEL_TILE_CACHE_INCREMENT_SGIX :: GLenum
+gl_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F
+
+gl_PIXEL_TILE_CACHE_SIZE_SGIX :: GLenum
+gl_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145
+
+gl_PIXEL_TILE_GRID_DEPTH_SGIX :: GLenum
+gl_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144
+
+gl_PIXEL_TILE_GRID_HEIGHT_SGIX :: GLenum
+gl_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143
+
+gl_PIXEL_TILE_GRID_WIDTH_SGIX :: GLenum
+gl_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142
+
+gl_PIXEL_TILE_HEIGHT_SGIX :: GLenum
+gl_PIXEL_TILE_HEIGHT_SGIX = 0x8141
+
+gl_PIXEL_TILE_WIDTH_SGIX :: GLenum
+gl_PIXEL_TILE_WIDTH_SGIX = 0x8140
+
+gl_PIXEL_TRANSFORM_2D_EXT :: GLenum
+gl_PIXEL_TRANSFORM_2D_EXT = 0x8330
+
+gl_PIXEL_TRANSFORM_2D_MATRIX_EXT :: GLenum
+gl_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338
+
+gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
+gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336
+
+gl_PIXEL_UNPACK_BUFFER :: GLenum
+gl_PIXEL_UNPACK_BUFFER = 0x88EC
+
+gl_PIXEL_UNPACK_BUFFER_ARB :: GLenum
+gl_PIXEL_UNPACK_BUFFER_ARB = 0x88EC
+
+gl_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
+gl_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF
+
+gl_PIXEL_UNPACK_BUFFER_BINDING_ARB :: GLenum
+gl_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF
+
+gl_PIXEL_UNPACK_BUFFER_BINDING_EXT :: GLenum
+gl_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF
+
+gl_PIXEL_UNPACK_BUFFER_EXT :: GLenum
+gl_PIXEL_UNPACK_BUFFER_EXT = 0x88EC
+
+gl_PLUS_CLAMPED_ALPHA_NV :: GLenum
+gl_PLUS_CLAMPED_ALPHA_NV = 0x92B2
+
+gl_PLUS_CLAMPED_NV :: GLenum
+gl_PLUS_CLAMPED_NV = 0x92B1
+
+gl_PLUS_DARKER_NV :: GLenum
+gl_PLUS_DARKER_NV = 0x9292
+
+gl_PLUS_NV :: GLenum
+gl_PLUS_NV = 0x9291
+
+gl_PN_TRIANGLES_ATI :: GLenum
+gl_PN_TRIANGLES_ATI = 0x87F0
+
+gl_PN_TRIANGLES_NORMAL_MODE_ATI :: GLenum
+gl_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3
+
+gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI :: GLenum
+gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7
+
+gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI :: GLenum
+gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8
+
+gl_PN_TRIANGLES_POINT_MODE_ATI :: GLenum
+gl_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2
+
+gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATI :: GLenum
+gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6
+
+gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATI :: GLenum
+gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5
+
+gl_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
+gl_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4
+
+gl_POINT :: GLenum
+gl_POINT = 0x1B00
+
+gl_POINTS :: GLenum
+gl_POINTS = 0x0000
+
+gl_POINT_BIT :: GLbitfield
+gl_POINT_BIT = 0x00000002
+
+gl_POINT_DISTANCE_ATTENUATION :: GLenum
+gl_POINT_DISTANCE_ATTENUATION = 0x8129
+
+gl_POINT_DISTANCE_ATTENUATION_ARB :: GLenum
+gl_POINT_DISTANCE_ATTENUATION_ARB = 0x8129
+
+gl_POINT_FADE_THRESHOLD_SIZE :: GLenum
+gl_POINT_FADE_THRESHOLD_SIZE = 0x8128
+
+gl_POINT_FADE_THRESHOLD_SIZE_ARB :: GLenum
+gl_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128
+
+gl_POINT_FADE_THRESHOLD_SIZE_EXT :: GLenum
+gl_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128
+
+gl_POINT_FADE_THRESHOLD_SIZE_SGIS :: GLenum
+gl_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128
+
+gl_POINT_SIZE :: GLenum
+gl_POINT_SIZE = 0x0B11
+
+gl_POINT_SIZE_ARRAY_BUFFER_BINDING_OES :: GLenum
+gl_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F
+
+gl_POINT_SIZE_ARRAY_OES :: GLenum
+gl_POINT_SIZE_ARRAY_OES = 0x8B9C
+
+gl_POINT_SIZE_ARRAY_POINTER_OES :: GLenum
+gl_POINT_SIZE_ARRAY_POINTER_OES = 0x898C
+
+gl_POINT_SIZE_ARRAY_STRIDE_OES :: GLenum
+gl_POINT_SIZE_ARRAY_STRIDE_OES = 0x898B
+
+gl_POINT_SIZE_ARRAY_TYPE_OES :: GLenum
+gl_POINT_SIZE_ARRAY_TYPE_OES = 0x898A
+
+gl_POINT_SIZE_GRANULARITY :: GLenum
+gl_POINT_SIZE_GRANULARITY = 0x0B13
+
+gl_POINT_SIZE_MAX :: GLenum
+gl_POINT_SIZE_MAX = 0x8127
+
+gl_POINT_SIZE_MAX_ARB :: GLenum
+gl_POINT_SIZE_MAX_ARB = 0x8127
+
+gl_POINT_SIZE_MAX_EXT :: GLenum
+gl_POINT_SIZE_MAX_EXT = 0x8127
+
+gl_POINT_SIZE_MAX_SGIS :: GLenum
+gl_POINT_SIZE_MAX_SGIS = 0x8127
+
+gl_POINT_SIZE_MIN :: GLenum
+gl_POINT_SIZE_MIN = 0x8126
+
+gl_POINT_SIZE_MIN_ARB :: GLenum
+gl_POINT_SIZE_MIN_ARB = 0x8126
+
+gl_POINT_SIZE_MIN_EXT :: GLenum
+gl_POINT_SIZE_MIN_EXT = 0x8126
+
+gl_POINT_SIZE_MIN_SGIS :: GLenum
+gl_POINT_SIZE_MIN_SGIS = 0x8126
+
+gl_POINT_SIZE_RANGE :: GLenum
+gl_POINT_SIZE_RANGE = 0x0B12
+
+gl_POINT_SMOOTH :: GLenum
+gl_POINT_SMOOTH = 0x0B10
+
+gl_POINT_SMOOTH_HINT :: GLenum
+gl_POINT_SMOOTH_HINT = 0x0C51
+
+gl_POINT_SPRITE :: GLenum
+gl_POINT_SPRITE = 0x8861
+
+gl_POINT_SPRITE_ARB :: GLenum
+gl_POINT_SPRITE_ARB = 0x8861
+
+gl_POINT_SPRITE_COORD_ORIGIN :: GLenum
+gl_POINT_SPRITE_COORD_ORIGIN = 0x8CA0
+
+gl_POINT_SPRITE_NV :: GLenum
+gl_POINT_SPRITE_NV = 0x8861
+
+gl_POINT_SPRITE_OES :: GLenum
+gl_POINT_SPRITE_OES = 0x8861
+
+gl_POINT_SPRITE_R_MODE_NV :: GLenum
+gl_POINT_SPRITE_R_MODE_NV = 0x8863
+
+gl_POINT_TOKEN :: GLenum
+gl_POINT_TOKEN = 0x0701
+
+gl_POLYGON :: GLenum
+gl_POLYGON = 0x0009
+
+gl_POLYGON_BIT :: GLbitfield
+gl_POLYGON_BIT = 0x00000008
+
+gl_POLYGON_MODE :: GLenum
+gl_POLYGON_MODE = 0x0B40
+
+gl_POLYGON_OFFSET_BIAS_EXT :: GLenum
+gl_POLYGON_OFFSET_BIAS_EXT = 0x8039
+
+gl_POLYGON_OFFSET_CLAMP_EXT :: GLenum
+gl_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B
+
+gl_POLYGON_OFFSET_EXT :: GLenum
+gl_POLYGON_OFFSET_EXT = 0x8037
+
+gl_POLYGON_OFFSET_FACTOR :: GLenum
+gl_POLYGON_OFFSET_FACTOR = 0x8038
+
+gl_POLYGON_OFFSET_FACTOR_EXT :: GLenum
+gl_POLYGON_OFFSET_FACTOR_EXT = 0x8038
+
+gl_POLYGON_OFFSET_FILL :: GLenum
+gl_POLYGON_OFFSET_FILL = 0x8037
+
+gl_POLYGON_OFFSET_LINE :: GLenum
+gl_POLYGON_OFFSET_LINE = 0x2A02
+
+gl_POLYGON_OFFSET_POINT :: GLenum
+gl_POLYGON_OFFSET_POINT = 0x2A01
+
+gl_POLYGON_OFFSET_UNITS :: GLenum
+gl_POLYGON_OFFSET_UNITS = 0x2A00
+
+gl_POLYGON_SMOOTH :: GLenum
+gl_POLYGON_SMOOTH = 0x0B41
+
+gl_POLYGON_SMOOTH_HINT :: GLenum
+gl_POLYGON_SMOOTH_HINT = 0x0C53
+
+gl_POLYGON_STIPPLE :: GLenum
+gl_POLYGON_STIPPLE = 0x0B42
+
+gl_POLYGON_STIPPLE_BIT :: GLbitfield
+gl_POLYGON_STIPPLE_BIT = 0x00000010
+
+gl_POLYGON_TOKEN :: GLenum
+gl_POLYGON_TOKEN = 0x0703
+
+gl_POSITION :: GLenum
+gl_POSITION = 0x1203
+
+gl_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB
+
+gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI :: GLenum
+gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB
+
+gl_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7
+
+gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI :: GLenum
+gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7
+
+gl_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA
+
+gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI :: GLenum
+gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA
+
+gl_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6
+
+gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI :: GLenum
+gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6
+
+gl_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
+gl_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2
+
+gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
+gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2
+
+gl_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9
+
+gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI :: GLenum
+gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9
+
+gl_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5
+
+gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI :: GLenum
+gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5
+
+gl_POST_COLOR_MATRIX_RED_BIAS :: GLenum
+gl_POST_COLOR_MATRIX_RED_BIAS = 0x80B8
+
+gl_POST_COLOR_MATRIX_RED_BIAS_SGI :: GLenum
+gl_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8
+
+gl_POST_COLOR_MATRIX_RED_SCALE :: GLenum
+gl_POST_COLOR_MATRIX_RED_SCALE = 0x80B4
+
+gl_POST_COLOR_MATRIX_RED_SCALE_SGI :: GLenum
+gl_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4
+
+gl_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
+gl_POST_CONVOLUTION_ALPHA_BIAS = 0x8023
+
+gl_POST_CONVOLUTION_ALPHA_BIAS_EXT :: GLenum
+gl_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023
+
+gl_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
+gl_POST_CONVOLUTION_ALPHA_SCALE = 0x801F
+
+gl_POST_CONVOLUTION_ALPHA_SCALE_EXT :: GLenum
+gl_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F
+
+gl_POST_CONVOLUTION_BLUE_BIAS :: GLenum
+gl_POST_CONVOLUTION_BLUE_BIAS = 0x8022
+
+gl_POST_CONVOLUTION_BLUE_BIAS_EXT :: GLenum
+gl_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022
+
+gl_POST_CONVOLUTION_BLUE_SCALE :: GLenum
+gl_POST_CONVOLUTION_BLUE_SCALE = 0x801E
+
+gl_POST_CONVOLUTION_BLUE_SCALE_EXT :: GLenum
+gl_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E
+
+gl_POST_CONVOLUTION_COLOR_TABLE :: GLenum
+gl_POST_CONVOLUTION_COLOR_TABLE = 0x80D1
+
+gl_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
+gl_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1
+
+gl_POST_CONVOLUTION_GREEN_BIAS :: GLenum
+gl_POST_CONVOLUTION_GREEN_BIAS = 0x8021
+
+gl_POST_CONVOLUTION_GREEN_BIAS_EXT :: GLenum
+gl_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021
+
+gl_POST_CONVOLUTION_GREEN_SCALE :: GLenum
+gl_POST_CONVOLUTION_GREEN_SCALE = 0x801D
+
+gl_POST_CONVOLUTION_GREEN_SCALE_EXT :: GLenum
+gl_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D
+
+gl_POST_CONVOLUTION_RED_BIAS :: GLenum
+gl_POST_CONVOLUTION_RED_BIAS = 0x8020
+
+gl_POST_CONVOLUTION_RED_BIAS_EXT :: GLenum
+gl_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020
+
+gl_POST_CONVOLUTION_RED_SCALE :: GLenum
+gl_POST_CONVOLUTION_RED_SCALE = 0x801C
+
+gl_POST_CONVOLUTION_RED_SCALE_EXT :: GLenum
+gl_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C
+
+gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
+gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162
+
+gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX :: GLenum
+gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B
+
+gl_POST_TEXTURE_FILTER_BIAS_SGIX :: GLenum
+gl_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179
+
+gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX :: GLenum
+gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C
+
+gl_POST_TEXTURE_FILTER_SCALE_SGIX :: GLenum
+gl_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A
+
+gl_PREFER_DOUBLEBUFFER_HINT_PGI :: GLenum
+gl_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8
+
+gl_PRESENT_DURATION_NV :: GLenum
+gl_PRESENT_DURATION_NV = 0x8E2B
+
+gl_PRESENT_TIME_NV :: GLenum
+gl_PRESENT_TIME_NV = 0x8E2A
+
+gl_PRESERVE_ATI :: GLenum
+gl_PRESERVE_ATI = 0x8762
+
+gl_PREVIOUS :: GLenum
+gl_PREVIOUS = 0x8578
+
+gl_PREVIOUS_ARB :: GLenum
+gl_PREVIOUS_ARB = 0x8578
+
+gl_PREVIOUS_EXT :: GLenum
+gl_PREVIOUS_EXT = 0x8578
+
+gl_PREVIOUS_TEXTURE_INPUT_NV :: GLenum
+gl_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4
+
+gl_PRIMARY_COLOR :: GLenum
+gl_PRIMARY_COLOR = 0x8577
+
+gl_PRIMARY_COLOR_ARB :: GLenum
+gl_PRIMARY_COLOR_ARB = 0x8577
+
+gl_PRIMARY_COLOR_EXT :: GLenum
+gl_PRIMARY_COLOR_EXT = 0x8577
+
+gl_PRIMARY_COLOR_NV :: GLenum
+gl_PRIMARY_COLOR_NV = 0x852C
+
+gl_PRIMITIVES_GENERATED :: GLenum
+gl_PRIMITIVES_GENERATED = 0x8C87
+
+gl_PRIMITIVES_GENERATED_EXT :: GLenum
+gl_PRIMITIVES_GENERATED_EXT = 0x8C87
+
+gl_PRIMITIVES_GENERATED_NV :: GLenum
+gl_PRIMITIVES_GENERATED_NV = 0x8C87
+
+gl_PRIMITIVES_GENERATED_OES :: GLenum
+gl_PRIMITIVES_GENERATED_OES = 0x8C87
+
+gl_PRIMITIVES_SUBMITTED_ARB :: GLenum
+gl_PRIMITIVES_SUBMITTED_ARB = 0x82EF
+
+gl_PRIMITIVE_BOUNDING_BOX_EXT :: GLenum
+gl_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE
+
+gl_PRIMITIVE_BOUNDING_BOX_OES :: GLenum
+gl_PRIMITIVE_BOUNDING_BOX_OES = 0x92BE
+
+gl_PRIMITIVE_ID_NV :: GLenum
+gl_PRIMITIVE_ID_NV = 0x8C7C
+
+gl_PRIMITIVE_RESTART :: GLenum
+gl_PRIMITIVE_RESTART = 0x8F9D
+
+gl_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
+gl_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69
+
+gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
+gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221
+
+gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES :: GLenum
+gl_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES = 0x8221
+
+gl_PRIMITIVE_RESTART_INDEX :: GLenum
+gl_PRIMITIVE_RESTART_INDEX = 0x8F9E
+
+gl_PRIMITIVE_RESTART_INDEX_NV :: GLenum
+gl_PRIMITIVE_RESTART_INDEX_NV = 0x8559
+
+gl_PRIMITIVE_RESTART_NV :: GLenum
+gl_PRIMITIVE_RESTART_NV = 0x8558
+
+gl_PROGRAM :: GLenum
+gl_PROGRAM = 0x82E2
+
+gl_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
+gl_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341
+
+gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV :: GLenum
+gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340
+
+gl_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
+gl_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0
+
+gl_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
+gl_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805
+
+gl_PROGRAM_ATTRIBS_ARB :: GLenum
+gl_PROGRAM_ATTRIBS_ARB = 0x88AC
+
+gl_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
+gl_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906
+
+gl_PROGRAM_BINARY_ANGLE :: GLenum
+gl_PROGRAM_BINARY_ANGLE = 0x93A6
+
+gl_PROGRAM_BINARY_FORMATS :: GLenum
+gl_PROGRAM_BINARY_FORMATS = 0x87FF
+
+gl_PROGRAM_BINARY_FORMATS_OES :: GLenum
+gl_PROGRAM_BINARY_FORMATS_OES = 0x87FF
+
+gl_PROGRAM_BINARY_LENGTH :: GLenum
+gl_PROGRAM_BINARY_LENGTH = 0x8741
+
+gl_PROGRAM_BINARY_LENGTH_OES :: GLenum
+gl_PROGRAM_BINARY_LENGTH_OES = 0x8741
+
+gl_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
+gl_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257
+
+gl_PROGRAM_BINDING_ARB :: GLenum
+gl_PROGRAM_BINDING_ARB = 0x8677
+
+gl_PROGRAM_ERROR_POSITION_ARB :: GLenum
+gl_PROGRAM_ERROR_POSITION_ARB = 0x864B
+
+gl_PROGRAM_ERROR_POSITION_NV :: GLenum
+gl_PROGRAM_ERROR_POSITION_NV = 0x864B
+
+gl_PROGRAM_ERROR_STRING_ARB :: GLenum
+gl_PROGRAM_ERROR_STRING_ARB = 0x8874
+
+gl_PROGRAM_ERROR_STRING_NV :: GLenum
+gl_PROGRAM_ERROR_STRING_NV = 0x8874
+
+gl_PROGRAM_FORMAT_ARB :: GLenum
+gl_PROGRAM_FORMAT_ARB = 0x8876
+
+gl_PROGRAM_FORMAT_ASCII_ARB :: GLenum
+gl_PROGRAM_FORMAT_ASCII_ARB = 0x8875
+
+gl_PROGRAM_INPUT :: GLenum
+gl_PROGRAM_INPUT = 0x92E3
+
+gl_PROGRAM_INSTRUCTIONS_ARB :: GLenum
+gl_PROGRAM_INSTRUCTIONS_ARB = 0x88A0
+
+gl_PROGRAM_KHR :: GLenum
+gl_PROGRAM_KHR = 0x82E2
+
+gl_PROGRAM_LENGTH_ARB :: GLenum
+gl_PROGRAM_LENGTH_ARB = 0x8627
+
+gl_PROGRAM_LENGTH_NV :: GLenum
+gl_PROGRAM_LENGTH_NV = 0x8627
+
+gl_PROGRAM_MATRIX_EXT :: GLenum
+gl_PROGRAM_MATRIX_EXT = 0x8E2D
+
+gl_PROGRAM_MATRIX_STACK_DEPTH_EXT :: GLenum
+gl_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F
+
+gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
+gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2
+
+gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
+gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808
+
+gl_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
+gl_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE
+
+gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
+gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2
+
+gl_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
+gl_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA
+
+gl_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
+gl_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6
+
+gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
+gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A
+
+gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
+gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809
+
+gl_PROGRAM_OBJECT_ARB :: GLenum
+gl_PROGRAM_OBJECT_ARB = 0x8B40
+
+gl_PROGRAM_OBJECT_EXT :: GLenum
+gl_PROGRAM_OBJECT_EXT = 0x8B40
+
+gl_PROGRAM_OUTPUT :: GLenum
+gl_PROGRAM_OUTPUT = 0x92E4
+
+gl_PROGRAM_PARAMETERS_ARB :: GLenum
+gl_PROGRAM_PARAMETERS_ARB = 0x88A8
+
+gl_PROGRAM_PARAMETER_NV :: GLenum
+gl_PROGRAM_PARAMETER_NV = 0x8644
+
+gl_PROGRAM_PIPELINE :: GLenum
+gl_PROGRAM_PIPELINE = 0x82E4
+
+gl_PROGRAM_PIPELINE_BINDING :: GLenum
+gl_PROGRAM_PIPELINE_BINDING = 0x825A
+
+gl_PROGRAM_PIPELINE_BINDING_EXT :: GLenum
+gl_PROGRAM_PIPELINE_BINDING_EXT = 0x825A
+
+gl_PROGRAM_PIPELINE_OBJECT_EXT :: GLenum
+gl_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F
+
+gl_PROGRAM_POINT_SIZE :: GLenum
+gl_PROGRAM_POINT_SIZE = 0x8642
+
+gl_PROGRAM_POINT_SIZE_ARB :: GLenum
+gl_PROGRAM_POINT_SIZE_ARB = 0x8642
+
+gl_PROGRAM_POINT_SIZE_EXT :: GLenum
+gl_PROGRAM_POINT_SIZE_EXT = 0x8642
+
+gl_PROGRAM_RESIDENT_NV :: GLenum
+gl_PROGRAM_RESIDENT_NV = 0x8647
+
+gl_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
+gl_PROGRAM_RESULT_COMPONENTS_NV = 0x8907
+
+gl_PROGRAM_SEPARABLE :: GLenum
+gl_PROGRAM_SEPARABLE = 0x8258
+
+gl_PROGRAM_SEPARABLE_EXT :: GLenum
+gl_PROGRAM_SEPARABLE_EXT = 0x8258
+
+gl_PROGRAM_STRING_ARB :: GLenum
+gl_PROGRAM_STRING_ARB = 0x8628
+
+gl_PROGRAM_STRING_NV :: GLenum
+gl_PROGRAM_STRING_NV = 0x8628
+
+gl_PROGRAM_TARGET_NV :: GLenum
+gl_PROGRAM_TARGET_NV = 0x8646
+
+gl_PROGRAM_TEMPORARIES_ARB :: GLenum
+gl_PROGRAM_TEMPORARIES_ARB = 0x88A4
+
+gl_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
+gl_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807
+
+gl_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
+gl_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806
+
+gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: GLenum
+gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6
+
+gl_PROJECTION :: GLenum
+gl_PROJECTION = 0x1701
+
+gl_PROJECTION_MATRIX :: GLenum
+gl_PROJECTION_MATRIX = 0x0BA7
+
+gl_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
+gl_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E
+
+gl_PROJECTION_STACK_DEPTH :: GLenum
+gl_PROJECTION_STACK_DEPTH = 0x0BA4
+
+gl_PROVOKING_VERTEX :: GLenum
+gl_PROVOKING_VERTEX = 0x8E4F
+
+gl_PROVOKING_VERTEX_EXT :: GLenum
+gl_PROVOKING_VERTEX_EXT = 0x8E4F
+
+gl_PROXY_COLOR_TABLE :: GLenum
+gl_PROXY_COLOR_TABLE = 0x80D3
+
+gl_PROXY_COLOR_TABLE_SGI :: GLenum
+gl_PROXY_COLOR_TABLE_SGI = 0x80D3
+
+gl_PROXY_HISTOGRAM :: GLenum
+gl_PROXY_HISTOGRAM = 0x8025
+
+gl_PROXY_HISTOGRAM_EXT :: GLenum
+gl_PROXY_HISTOGRAM_EXT = 0x8025
+
+gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
+gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5
+
+gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
+gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5
+
+gl_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
+gl_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4
+
+gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
+gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4
+
+gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
+gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163
+
+gl_PROXY_TEXTURE_1D :: GLenum
+gl_PROXY_TEXTURE_1D = 0x8063
+
+gl_PROXY_TEXTURE_1D_ARRAY :: GLenum
+gl_PROXY_TEXTURE_1D_ARRAY = 0x8C19
+
+gl_PROXY_TEXTURE_1D_ARRAY_EXT :: GLenum
+gl_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19
+
+gl_PROXY_TEXTURE_1D_EXT :: GLenum
+gl_PROXY_TEXTURE_1D_EXT = 0x8063
+
+gl_PROXY_TEXTURE_1D_STACK_MESAX :: GLenum
+gl_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B
+
+gl_PROXY_TEXTURE_2D :: GLenum
+gl_PROXY_TEXTURE_2D = 0x8064
+
+gl_PROXY_TEXTURE_2D_ARRAY :: GLenum
+gl_PROXY_TEXTURE_2D_ARRAY = 0x8C1B
+
+gl_PROXY_TEXTURE_2D_ARRAY_EXT :: GLenum
+gl_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B
+
+gl_PROXY_TEXTURE_2D_EXT :: GLenum
+gl_PROXY_TEXTURE_2D_EXT = 0x8064
+
+gl_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
+gl_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101
+
+gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103
+
+gl_PROXY_TEXTURE_2D_STACK_MESAX :: GLenum
+gl_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C
+
+gl_PROXY_TEXTURE_3D :: GLenum
+gl_PROXY_TEXTURE_3D = 0x8070
+
+gl_PROXY_TEXTURE_3D_EXT :: GLenum
+gl_PROXY_TEXTURE_3D_EXT = 0x8070
+
+gl_PROXY_TEXTURE_4D_SGIS :: GLenum
+gl_PROXY_TEXTURE_4D_SGIS = 0x8135
+
+gl_PROXY_TEXTURE_COLOR_TABLE_SGI :: GLenum
+gl_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD
+
+gl_PROXY_TEXTURE_CUBE_MAP :: GLenum
+gl_PROXY_TEXTURE_CUBE_MAP = 0x851B
+
+gl_PROXY_TEXTURE_CUBE_MAP_ARB :: GLenum
+gl_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B
+
+gl_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
+gl_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B
+
+gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
+gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B
+
+gl_PROXY_TEXTURE_CUBE_MAP_EXT :: GLenum
+gl_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B
+
+gl_PROXY_TEXTURE_RECTANGLE :: GLenum
+gl_PROXY_TEXTURE_RECTANGLE = 0x84F7
+
+gl_PROXY_TEXTURE_RECTANGLE_ARB :: GLenum
+gl_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7
+
+gl_PROXY_TEXTURE_RECTANGLE_NV :: GLenum
+gl_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7
+
+gl_PURGEABLE_APPLE :: GLenum
+gl_PURGEABLE_APPLE = 0x8A1D
+
+gl_Q :: GLenum
+gl_Q = 0x2003
+
+gl_QUADRATIC_ATTENUATION :: GLenum
+gl_QUADRATIC_ATTENUATION = 0x1209
+
+gl_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_QUADRATIC_CURVE_TO_NV = 0x0A
+
+gl_QUADS :: GLenum
+gl_QUADS = 0x0007
+
+gl_QUADS_EXT :: GLenum
+gl_QUADS_EXT = 0x0007
+
+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C
+
+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT :: GLenum
+gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C
+
+gl_QUADS_OES :: GLenum
+gl_QUADS_OES = 0x0007
+
+gl_QUAD_ALPHA4_SGIS :: GLenum
+gl_QUAD_ALPHA4_SGIS = 0x811E
+
+gl_QUAD_ALPHA8_SGIS :: GLenum
+gl_QUAD_ALPHA8_SGIS = 0x811F
+
+gl_QUAD_INTENSITY4_SGIS :: GLenum
+gl_QUAD_INTENSITY4_SGIS = 0x8122
+
+gl_QUAD_INTENSITY8_SGIS :: GLenum
+gl_QUAD_INTENSITY8_SGIS = 0x8123
+
+gl_QUAD_LUMINANCE4_SGIS :: GLenum
+gl_QUAD_LUMINANCE4_SGIS = 0x8120
+
+gl_QUAD_LUMINANCE8_SGIS :: GLenum
+gl_QUAD_LUMINANCE8_SGIS = 0x8121
+
+gl_QUAD_MESH_SUN :: GLenum
+gl_QUAD_MESH_SUN = 0x8614
+
+gl_QUAD_STRIP :: GLenum
+gl_QUAD_STRIP = 0x0008
+
+gl_QUAD_TEXTURE_SELECT_SGIS :: GLenum
+gl_QUAD_TEXTURE_SELECT_SGIS = 0x8125
+
+gl_QUARTER_BIT_ATI :: GLbitfield
+gl_QUARTER_BIT_ATI = 0x00000010
+
+gl_QUERY :: GLenum
+gl_QUERY = 0x82E3
+
+gl_QUERY_ALL_EVENT_BITS_AMD :: GLuint
+gl_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF
+
+gl_QUERY_BUFFER :: GLenum
+gl_QUERY_BUFFER = 0x9192
+
+gl_QUERY_BUFFER_AMD :: GLenum
+gl_QUERY_BUFFER_AMD = 0x9192
+
+gl_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
+gl_QUERY_BUFFER_BARRIER_BIT = 0x00008000
+
+gl_QUERY_BUFFER_BINDING :: GLenum
+gl_QUERY_BUFFER_BINDING = 0x9193
+
+gl_QUERY_BUFFER_BINDING_AMD :: GLenum
+gl_QUERY_BUFFER_BINDING_AMD = 0x9193
+
+gl_QUERY_BY_REGION_NO_WAIT :: GLenum
+gl_QUERY_BY_REGION_NO_WAIT = 0x8E16
+
+gl_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
+gl_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A
+
+gl_QUERY_BY_REGION_NO_WAIT_NV :: GLenum
+gl_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16
+
+gl_QUERY_BY_REGION_WAIT :: GLenum
+gl_QUERY_BY_REGION_WAIT = 0x8E15
+
+gl_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
+gl_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19
+
+gl_QUERY_BY_REGION_WAIT_NV :: GLenum
+gl_QUERY_BY_REGION_WAIT_NV = 0x8E15
+
+gl_QUERY_COUNTER_BITS :: GLenum
+gl_QUERY_COUNTER_BITS = 0x8864
+
+gl_QUERY_COUNTER_BITS_ARB :: GLenum
+gl_QUERY_COUNTER_BITS_ARB = 0x8864
+
+gl_QUERY_COUNTER_BITS_EXT :: GLenum
+gl_QUERY_COUNTER_BITS_EXT = 0x8864
+
+gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD :: GLuint
+gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008
+
+gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMD :: GLuint
+gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002
+
+gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD :: GLuint
+gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001
+
+gl_QUERY_KHR :: GLenum
+gl_QUERY_KHR = 0x82E3
+
+gl_QUERY_NO_WAIT :: GLenum
+gl_QUERY_NO_WAIT = 0x8E14
+
+gl_QUERY_NO_WAIT_INVERTED :: GLenum
+gl_QUERY_NO_WAIT_INVERTED = 0x8E18
+
+gl_QUERY_NO_WAIT_NV :: GLenum
+gl_QUERY_NO_WAIT_NV = 0x8E14
+
+gl_QUERY_OBJECT_AMD :: GLenum
+gl_QUERY_OBJECT_AMD = 0x9153
+
+gl_QUERY_OBJECT_EXT :: GLenum
+gl_QUERY_OBJECT_EXT = 0x9153
+
+gl_QUERY_RESULT :: GLenum
+gl_QUERY_RESULT = 0x8866
+
+gl_QUERY_RESULT_ARB :: GLenum
+gl_QUERY_RESULT_ARB = 0x8866
+
+gl_QUERY_RESULT_AVAILABLE :: GLenum
+gl_QUERY_RESULT_AVAILABLE = 0x8867
+
+gl_QUERY_RESULT_AVAILABLE_ARB :: GLenum
+gl_QUERY_RESULT_AVAILABLE_ARB = 0x8867
+
+gl_QUERY_RESULT_AVAILABLE_EXT :: GLenum
+gl_QUERY_RESULT_AVAILABLE_EXT = 0x8867
+
+gl_QUERY_RESULT_EXT :: GLenum
+gl_QUERY_RESULT_EXT = 0x8866
+
+gl_QUERY_RESULT_NO_WAIT :: GLenum
+gl_QUERY_RESULT_NO_WAIT = 0x9194
+
+gl_QUERY_RESULT_NO_WAIT_AMD :: GLenum
+gl_QUERY_RESULT_NO_WAIT_AMD = 0x9194
+
+gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD :: GLuint
+gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004
+
+gl_QUERY_TARGET :: GLenum
+gl_QUERY_TARGET = 0x82EA
+
+gl_QUERY_WAIT :: GLenum
+gl_QUERY_WAIT = 0x8E13
+
+gl_QUERY_WAIT_INVERTED :: GLenum
+gl_QUERY_WAIT_INVERTED = 0x8E17
+
+gl_QUERY_WAIT_NV :: GLenum
+gl_QUERY_WAIT_NV = 0x8E13
+
+gl_R :: GLenum
+gl_R = 0x2002
+
+gl_R11F_G11F_B10F :: GLenum
+gl_R11F_G11F_B10F = 0x8C3A
+
+gl_R11F_G11F_B10F_APPLE :: GLenum
+gl_R11F_G11F_B10F_APPLE = 0x8C3A
+
+gl_R11F_G11F_B10F_EXT :: GLenum
+gl_R11F_G11F_B10F_EXT = 0x8C3A
+
+gl_R16 :: GLenum
+gl_R16 = 0x822A
+
+gl_R16F :: GLenum
+gl_R16F = 0x822D
+
+gl_R16F_EXT :: GLenum
+gl_R16F_EXT = 0x822D
+
+gl_R16I :: GLenum
+gl_R16I = 0x8233
+
+gl_R16UI :: GLenum
+gl_R16UI = 0x8234
+
+gl_R16_EXT :: GLenum
+gl_R16_EXT = 0x822A
+
+gl_R16_SNORM :: GLenum
+gl_R16_SNORM = 0x8F98
+
+gl_R16_SNORM_EXT :: GLenum
+gl_R16_SNORM_EXT = 0x8F98
+
+gl_R1UI_C3F_V3F_SUN :: GLenum
+gl_R1UI_C3F_V3F_SUN = 0x85C6
+
+gl_R1UI_C4F_N3F_V3F_SUN :: GLenum
+gl_R1UI_C4F_N3F_V3F_SUN = 0x85C8
+
+gl_R1UI_C4UB_V3F_SUN :: GLenum
+gl_R1UI_C4UB_V3F_SUN = 0x85C5
+
+gl_R1UI_N3F_V3F_SUN :: GLenum
+gl_R1UI_N3F_V3F_SUN = 0x85C7
+
+gl_R1UI_T2F_C4F_N3F_V3F_SUN :: GLenum
+gl_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB
+
+gl_R1UI_T2F_N3F_V3F_SUN :: GLenum
+gl_R1UI_T2F_N3F_V3F_SUN = 0x85CA
+
+gl_R1UI_T2F_V3F_SUN :: GLenum
+gl_R1UI_T2F_V3F_SUN = 0x85C9
+
+gl_R1UI_V3F_SUN :: GLenum
+gl_R1UI_V3F_SUN = 0x85C4
+
+gl_R32F :: GLenum
+gl_R32F = 0x822E
+
+gl_R32F_EXT :: GLenum
+gl_R32F_EXT = 0x822E
+
+gl_R32I :: GLenum
+gl_R32I = 0x8235
+
+gl_R32UI :: GLenum
+gl_R32UI = 0x8236
+
+gl_R3_G3_B2 :: GLenum
+gl_R3_G3_B2 = 0x2A10
+
+gl_R8 :: GLenum
+gl_R8 = 0x8229
+
+gl_R8I :: GLenum
+gl_R8I = 0x8231
+
+gl_R8UI :: GLenum
+gl_R8UI = 0x8232
+
+gl_R8_EXT :: GLenum
+gl_R8_EXT = 0x8229
+
+gl_R8_SNORM :: GLenum
+gl_R8_SNORM = 0x8F94
+
+gl_RASTERIZER_DISCARD :: GLenum
+gl_RASTERIZER_DISCARD = 0x8C89
+
+gl_RASTERIZER_DISCARD_EXT :: GLenum
+gl_RASTERIZER_DISCARD_EXT = 0x8C89
+
+gl_RASTERIZER_DISCARD_NV :: GLenum
+gl_RASTERIZER_DISCARD_NV = 0x8C89
+
+gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: GLenum
+gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A
+
+gl_RASTER_MULTISAMPLE_EXT :: GLenum
+gl_RASTER_MULTISAMPLE_EXT = 0x9327
+
+gl_RASTER_POSITION_UNCLIPPED_IBM :: GLenum
+gl_RASTER_POSITION_UNCLIPPED_IBM = 0x19262
+
+gl_RASTER_SAMPLES_EXT :: GLenum
+gl_RASTER_SAMPLES_EXT = 0x9328
+
+gl_READ_BUFFER :: GLenum
+gl_READ_BUFFER = 0x0C02
+
+gl_READ_BUFFER_EXT :: GLenum
+gl_READ_BUFFER_EXT = 0x0C02
+
+gl_READ_BUFFER_NV :: GLenum
+gl_READ_BUFFER_NV = 0x0C02
+
+gl_READ_FRAMEBUFFER :: GLenum
+gl_READ_FRAMEBUFFER = 0x8CA8
+
+gl_READ_FRAMEBUFFER_ANGLE :: GLenum
+gl_READ_FRAMEBUFFER_ANGLE = 0x8CA8
+
+gl_READ_FRAMEBUFFER_APPLE :: GLenum
+gl_READ_FRAMEBUFFER_APPLE = 0x8CA8
+
+gl_READ_FRAMEBUFFER_BINDING :: GLenum
+gl_READ_FRAMEBUFFER_BINDING = 0x8CAA
+
+gl_READ_FRAMEBUFFER_BINDING_ANGLE :: GLenum
+gl_READ_FRAMEBUFFER_BINDING_ANGLE = 0x8CAA
+
+gl_READ_FRAMEBUFFER_BINDING_APPLE :: GLenum
+gl_READ_FRAMEBUFFER_BINDING_APPLE = 0x8CAA
+
+gl_READ_FRAMEBUFFER_BINDING_EXT :: GLenum
+gl_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA
+
+gl_READ_FRAMEBUFFER_BINDING_NV :: GLenum
+gl_READ_FRAMEBUFFER_BINDING_NV = 0x8CAA
+
+gl_READ_FRAMEBUFFER_EXT :: GLenum
+gl_READ_FRAMEBUFFER_EXT = 0x8CA8
+
+gl_READ_FRAMEBUFFER_NV :: GLenum
+gl_READ_FRAMEBUFFER_NV = 0x8CA8
+
+gl_READ_ONLY :: GLenum
+gl_READ_ONLY = 0x88B8
+
+gl_READ_ONLY_ARB :: GLenum
+gl_READ_ONLY_ARB = 0x88B8
+
+gl_READ_PIXELS :: GLenum
+gl_READ_PIXELS = 0x828C
+
+gl_READ_PIXELS_FORMAT :: GLenum
+gl_READ_PIXELS_FORMAT = 0x828D
+
+gl_READ_PIXELS_TYPE :: GLenum
+gl_READ_PIXELS_TYPE = 0x828E
+
+gl_READ_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
+gl_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B
+
+gl_READ_PIXEL_DATA_RANGE_NV :: GLenum
+gl_READ_PIXEL_DATA_RANGE_NV = 0x8879
+
+gl_READ_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
+gl_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D
+
+gl_READ_WRITE :: GLenum
+gl_READ_WRITE = 0x88BA
+
+gl_READ_WRITE_ARB :: GLenum
+gl_READ_WRITE_ARB = 0x88BA
+
+gl_RECIP_ADD_SIGNED_ALPHA_IMG :: GLenum
+gl_RECIP_ADD_SIGNED_ALPHA_IMG = 0x8C05
+
+gl_RECLAIM_MEMORY_HINT_PGI :: GLenum
+gl_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE
+
+gl_RECT_NV :: GLubyte
+gl_RECT_NV = 0xF6
+
+gl_RED :: GLenum
+gl_RED = 0x1903
+
+gl_REDUCE :: GLenum
+gl_REDUCE = 0x8016
+
+gl_REDUCE_EXT :: GLenum
+gl_REDUCE_EXT = 0x8016
+
+gl_RED_BIAS :: GLenum
+gl_RED_BIAS = 0x0D15
+
+gl_RED_BITS :: GLenum
+gl_RED_BITS = 0x0D52
+
+gl_RED_BIT_ATI :: GLbitfield
+gl_RED_BIT_ATI = 0x00000001
+
+gl_RED_EXT :: GLenum
+gl_RED_EXT = 0x1903
+
+gl_RED_INTEGER :: GLenum
+gl_RED_INTEGER = 0x8D94
+
+gl_RED_INTEGER_EXT :: GLenum
+gl_RED_INTEGER_EXT = 0x8D94
+
+gl_RED_MAX_CLAMP_INGR :: GLenum
+gl_RED_MAX_CLAMP_INGR = 0x8564
+
+gl_RED_MIN_CLAMP_INGR :: GLenum
+gl_RED_MIN_CLAMP_INGR = 0x8560
+
+gl_RED_NV :: GLenum
+gl_RED_NV = 0x1903
+
+gl_RED_SCALE :: GLenum
+gl_RED_SCALE = 0x0D14
+
+gl_RED_SNORM :: GLenum
+gl_RED_SNORM = 0x8F90
+
+gl_REFERENCED_BY_COMPUTE_SHADER :: GLenum
+gl_REFERENCED_BY_COMPUTE_SHADER = 0x930B
+
+gl_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
+gl_REFERENCED_BY_FRAGMENT_SHADER = 0x930A
+
+gl_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
+gl_REFERENCED_BY_GEOMETRY_SHADER = 0x9309
+
+gl_REFERENCED_BY_GEOMETRY_SHADER_EXT :: GLenum
+gl_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309
+
+gl_REFERENCED_BY_GEOMETRY_SHADER_OES :: GLenum
+gl_REFERENCED_BY_GEOMETRY_SHADER_OES = 0x9309
+
+gl_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
+gl_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307
+
+gl_REFERENCED_BY_TESS_CONTROL_SHADER_EXT :: GLenum
+gl_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307
+
+gl_REFERENCED_BY_TESS_CONTROL_SHADER_OES :: GLenum
+gl_REFERENCED_BY_TESS_CONTROL_SHADER_OES = 0x9307
+
+gl_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
+gl_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308
+
+gl_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT :: GLenum
+gl_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308
+
+gl_REFERENCED_BY_TESS_EVALUATION_SHADER_OES :: GLenum
+gl_REFERENCED_BY_TESS_EVALUATION_SHADER_OES = 0x9308
+
+gl_REFERENCED_BY_VERTEX_SHADER :: GLenum
+gl_REFERENCED_BY_VERTEX_SHADER = 0x9306
+
+gl_REFERENCE_PLANE_EQUATION_SGIX :: GLenum
+gl_REFERENCE_PLANE_EQUATION_SGIX = 0x817E
+
+gl_REFERENCE_PLANE_SGIX :: GLenum
+gl_REFERENCE_PLANE_SGIX = 0x817D
+
+gl_REFLECTION_MAP :: GLenum
+gl_REFLECTION_MAP = 0x8512
+
+gl_REFLECTION_MAP_ARB :: GLenum
+gl_REFLECTION_MAP_ARB = 0x8512
+
+gl_REFLECTION_MAP_EXT :: GLenum
+gl_REFLECTION_MAP_EXT = 0x8512
+
+gl_REFLECTION_MAP_NV :: GLenum
+gl_REFLECTION_MAP_NV = 0x8512
+
+gl_REFLECTION_MAP_OES :: GLenum
+gl_REFLECTION_MAP_OES = 0x8512
+
+gl_REGISTER_COMBINERS_NV :: GLenum
+gl_REGISTER_COMBINERS_NV = 0x8522
+
+gl_REG_0_ATI :: GLenum
+gl_REG_0_ATI = 0x8921
+
+gl_REG_10_ATI :: GLenum
+gl_REG_10_ATI = 0x892B
+
+gl_REG_11_ATI :: GLenum
+gl_REG_11_ATI = 0x892C
+
+gl_REG_12_ATI :: GLenum
+gl_REG_12_ATI = 0x892D
+
+gl_REG_13_ATI :: GLenum
+gl_REG_13_ATI = 0x892E
+
+gl_REG_14_ATI :: GLenum
+gl_REG_14_ATI = 0x892F
+
+gl_REG_15_ATI :: GLenum
+gl_REG_15_ATI = 0x8930
+
+gl_REG_16_ATI :: GLenum
+gl_REG_16_ATI = 0x8931
+
+gl_REG_17_ATI :: GLenum
+gl_REG_17_ATI = 0x8932
+
+gl_REG_18_ATI :: GLenum
+gl_REG_18_ATI = 0x8933
+
+gl_REG_19_ATI :: GLenum
+gl_REG_19_ATI = 0x8934
+
+gl_REG_1_ATI :: GLenum
+gl_REG_1_ATI = 0x8922
+
+gl_REG_20_ATI :: GLenum
+gl_REG_20_ATI = 0x8935
+
+gl_REG_21_ATI :: GLenum
+gl_REG_21_ATI = 0x8936
+
+gl_REG_22_ATI :: GLenum
+gl_REG_22_ATI = 0x8937
+
+gl_REG_23_ATI :: GLenum
+gl_REG_23_ATI = 0x8938
+
+gl_REG_24_ATI :: GLenum
+gl_REG_24_ATI = 0x8939
+
+gl_REG_25_ATI :: GLenum
+gl_REG_25_ATI = 0x893A
+
+gl_REG_26_ATI :: GLenum
+gl_REG_26_ATI = 0x893B
+
+gl_REG_27_ATI :: GLenum
+gl_REG_27_ATI = 0x893C
+
+gl_REG_28_ATI :: GLenum
+gl_REG_28_ATI = 0x893D
+
+gl_REG_29_ATI :: GLenum
+gl_REG_29_ATI = 0x893E
+
+gl_REG_2_ATI :: GLenum
+gl_REG_2_ATI = 0x8923
+
+gl_REG_30_ATI :: GLenum
+gl_REG_30_ATI = 0x893F
+
+gl_REG_31_ATI :: GLenum
+gl_REG_31_ATI = 0x8940
+
+gl_REG_3_ATI :: GLenum
+gl_REG_3_ATI = 0x8924
+
+gl_REG_4_ATI :: GLenum
+gl_REG_4_ATI = 0x8925
+
+gl_REG_5_ATI :: GLenum
+gl_REG_5_ATI = 0x8926
+
+gl_REG_6_ATI :: GLenum
+gl_REG_6_ATI = 0x8927
+
+gl_REG_7_ATI :: GLenum
+gl_REG_7_ATI = 0x8928
+
+gl_REG_8_ATI :: GLenum
+gl_REG_8_ATI = 0x8929
+
+gl_REG_9_ATI :: GLenum
+gl_REG_9_ATI = 0x892A
+
+gl_RELATIVE_ARC_TO_NV :: GLubyte
+gl_RELATIVE_ARC_TO_NV = 0xFF
+
+gl_RELATIVE_CONIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_CONIC_CURVE_TO_NV = 0x1B
+
+gl_RELATIVE_CUBIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D
+
+gl_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLubyte
+gl_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07
+
+gl_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17
+
+gl_RELATIVE_LARGE_CW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19
+
+gl_RELATIVE_LINE_TO_NV :: GLubyte
+gl_RELATIVE_LINE_TO_NV = 0x05
+
+gl_RELATIVE_MOVE_TO_NV :: GLubyte
+gl_RELATIVE_MOVE_TO_NV = 0x03
+
+gl_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B
+
+gl_RELATIVE_RECT_NV :: GLubyte
+gl_RELATIVE_RECT_NV = 0xF7
+
+gl_RELATIVE_ROUNDED_RECT2_NV :: GLubyte
+gl_RELATIVE_ROUNDED_RECT2_NV = 0xEB
+
+gl_RELATIVE_ROUNDED_RECT4_NV :: GLubyte
+gl_RELATIVE_ROUNDED_RECT4_NV = 0xED
+
+gl_RELATIVE_ROUNDED_RECT8_NV :: GLubyte
+gl_RELATIVE_ROUNDED_RECT8_NV = 0xEF
+
+gl_RELATIVE_ROUNDED_RECT_NV :: GLubyte
+gl_RELATIVE_ROUNDED_RECT_NV = 0xE9
+
+gl_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13
+
+gl_RELATIVE_SMALL_CW_ARC_TO_NV :: GLubyte
+gl_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15
+
+gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11
+
+gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F
+
+gl_RELATIVE_VERTICAL_LINE_TO_NV :: GLubyte
+gl_RELATIVE_VERTICAL_LINE_TO_NV = 0x09
+
+gl_RELEASED_APPLE :: GLenum
+gl_RELEASED_APPLE = 0x8A19
+
+gl_RENDER :: GLenum
+gl_RENDER = 0x1C00
+
+gl_RENDERBUFFER :: GLenum
+gl_RENDERBUFFER = 0x8D41
+
+gl_RENDERBUFFER_ALPHA_SIZE :: GLenum
+gl_RENDERBUFFER_ALPHA_SIZE = 0x8D53
+
+gl_RENDERBUFFER_ALPHA_SIZE_EXT :: GLenum
+gl_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53
+
+gl_RENDERBUFFER_ALPHA_SIZE_OES :: GLenum
+gl_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53
+
+gl_RENDERBUFFER_BINDING :: GLenum
+gl_RENDERBUFFER_BINDING = 0x8CA7
+
+gl_RENDERBUFFER_BINDING_ANGLE :: GLenum
+gl_RENDERBUFFER_BINDING_ANGLE = 0x8CA7
+
+gl_RENDERBUFFER_BINDING_EXT :: GLenum
+gl_RENDERBUFFER_BINDING_EXT = 0x8CA7
+
+gl_RENDERBUFFER_BINDING_OES :: GLenum
+gl_RENDERBUFFER_BINDING_OES = 0x8CA7
+
+gl_RENDERBUFFER_BLUE_SIZE :: GLenum
+gl_RENDERBUFFER_BLUE_SIZE = 0x8D52
+
+gl_RENDERBUFFER_BLUE_SIZE_EXT :: GLenum
+gl_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52
+
+gl_RENDERBUFFER_BLUE_SIZE_OES :: GLenum
+gl_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52
+
+gl_RENDERBUFFER_COLOR_SAMPLES_NV :: GLenum
+gl_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10
+
+gl_RENDERBUFFER_COVERAGE_SAMPLES_NV :: GLenum
+gl_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB
+
+gl_RENDERBUFFER_DEPTH_SIZE :: GLenum
+gl_RENDERBUFFER_DEPTH_SIZE = 0x8D54
+
+gl_RENDERBUFFER_DEPTH_SIZE_EXT :: GLenum
+gl_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54
+
+gl_RENDERBUFFER_DEPTH_SIZE_OES :: GLenum
+gl_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54
+
+gl_RENDERBUFFER_EXT :: GLenum
+gl_RENDERBUFFER_EXT = 0x8D41
+
+gl_RENDERBUFFER_FREE_MEMORY_ATI :: GLenum
+gl_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD
+
+gl_RENDERBUFFER_GREEN_SIZE :: GLenum
+gl_RENDERBUFFER_GREEN_SIZE = 0x8D51
+
+gl_RENDERBUFFER_GREEN_SIZE_EXT :: GLenum
+gl_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51
+
+gl_RENDERBUFFER_GREEN_SIZE_OES :: GLenum
+gl_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51
+
+gl_RENDERBUFFER_HEIGHT :: GLenum
+gl_RENDERBUFFER_HEIGHT = 0x8D43
+
+gl_RENDERBUFFER_HEIGHT_EXT :: GLenum
+gl_RENDERBUFFER_HEIGHT_EXT = 0x8D43
+
+gl_RENDERBUFFER_HEIGHT_OES :: GLenum
+gl_RENDERBUFFER_HEIGHT_OES = 0x8D43
+
+gl_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
+gl_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44
+
+gl_RENDERBUFFER_INTERNAL_FORMAT_EXT :: GLenum
+gl_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44
+
+gl_RENDERBUFFER_INTERNAL_FORMAT_OES :: GLenum
+gl_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44
+
+gl_RENDERBUFFER_OES :: GLenum
+gl_RENDERBUFFER_OES = 0x8D41
+
+gl_RENDERBUFFER_RED_SIZE :: GLenum
+gl_RENDERBUFFER_RED_SIZE = 0x8D50
+
+gl_RENDERBUFFER_RED_SIZE_EXT :: GLenum
+gl_RENDERBUFFER_RED_SIZE_EXT = 0x8D50
+
+gl_RENDERBUFFER_RED_SIZE_OES :: GLenum
+gl_RENDERBUFFER_RED_SIZE_OES = 0x8D50
+
+gl_RENDERBUFFER_SAMPLES :: GLenum
+gl_RENDERBUFFER_SAMPLES = 0x8CAB
+
+gl_RENDERBUFFER_SAMPLES_ANGLE :: GLenum
+gl_RENDERBUFFER_SAMPLES_ANGLE = 0x8CAB
+
+gl_RENDERBUFFER_SAMPLES_APPLE :: GLenum
+gl_RENDERBUFFER_SAMPLES_APPLE = 0x8CAB
+
+gl_RENDERBUFFER_SAMPLES_EXT :: GLenum
+gl_RENDERBUFFER_SAMPLES_EXT = 0x8CAB
+
+gl_RENDERBUFFER_SAMPLES_IMG :: GLenum
+gl_RENDERBUFFER_SAMPLES_IMG = 0x9133
+
+gl_RENDERBUFFER_SAMPLES_NV :: GLenum
+gl_RENDERBUFFER_SAMPLES_NV = 0x8CAB
+
+gl_RENDERBUFFER_STENCIL_SIZE :: GLenum
+gl_RENDERBUFFER_STENCIL_SIZE = 0x8D55
+
+gl_RENDERBUFFER_STENCIL_SIZE_EXT :: GLenum
+gl_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55
+
+gl_RENDERBUFFER_STENCIL_SIZE_OES :: GLenum
+gl_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55
+
+gl_RENDERBUFFER_WIDTH :: GLenum
+gl_RENDERBUFFER_WIDTH = 0x8D42
+
+gl_RENDERBUFFER_WIDTH_EXT :: GLenum
+gl_RENDERBUFFER_WIDTH_EXT = 0x8D42
+
+gl_RENDERBUFFER_WIDTH_OES :: GLenum
+gl_RENDERBUFFER_WIDTH_OES = 0x8D42
+
+gl_RENDERER :: GLenum
+gl_RENDERER = 0x1F01
+
+gl_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM :: GLenum
+gl_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = 0x8FB3
+
+gl_RENDER_MODE :: GLenum
+gl_RENDER_MODE = 0x0C40
+
+gl_REPEAT :: GLenum
+gl_REPEAT = 0x2901
+
+gl_REPLACE :: GLenum
+gl_REPLACE = 0x1E01
+
+gl_REPLACEMENT_CODE_ARRAY_POINTER_SUN :: GLenum
+gl_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3
+
+gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUN :: GLenum
+gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2
+
+gl_REPLACEMENT_CODE_ARRAY_SUN :: GLenum
+gl_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0
+
+gl_REPLACEMENT_CODE_ARRAY_TYPE_SUN :: GLenum
+gl_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1
+
+gl_REPLACEMENT_CODE_SUN :: GLenum
+gl_REPLACEMENT_CODE_SUN = 0x81D8
+
+gl_REPLACE_EXT :: GLenum
+gl_REPLACE_EXT = 0x8062
+
+gl_REPLACE_MIDDLE_SUN :: GLenum
+gl_REPLACE_MIDDLE_SUN = 0x0002
+
+gl_REPLACE_OLDEST_SUN :: GLenum
+gl_REPLACE_OLDEST_SUN = 0x0003
+
+gl_REPLACE_VALUE_AMD :: GLenum
+gl_REPLACE_VALUE_AMD = 0x874B
+
+gl_REPLICATE_BORDER :: GLenum
+gl_REPLICATE_BORDER = 0x8153
+
+gl_REPLICATE_BORDER_HP :: GLenum
+gl_REPLICATE_BORDER_HP = 0x8153
+
+gl_REQUIRED_TEXTURE_IMAGE_UNITS_OES :: GLenum
+gl_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68
+
+gl_RESAMPLE_AVERAGE_OML :: GLenum
+gl_RESAMPLE_AVERAGE_OML = 0x8988
+
+gl_RESAMPLE_DECIMATE_OML :: GLenum
+gl_RESAMPLE_DECIMATE_OML = 0x8989
+
+gl_RESAMPLE_DECIMATE_SGIX :: GLenum
+gl_RESAMPLE_DECIMATE_SGIX = 0x8430
+
+gl_RESAMPLE_REPLICATE_OML :: GLenum
+gl_RESAMPLE_REPLICATE_OML = 0x8986
+
+gl_RESAMPLE_REPLICATE_SGIX :: GLenum
+gl_RESAMPLE_REPLICATE_SGIX = 0x8433
+
+gl_RESAMPLE_ZERO_FILL_OML :: GLenum
+gl_RESAMPLE_ZERO_FILL_OML = 0x8987
+
+gl_RESAMPLE_ZERO_FILL_SGIX :: GLenum
+gl_RESAMPLE_ZERO_FILL_SGIX = 0x8434
+
+gl_RESCALE_NORMAL :: GLenum
+gl_RESCALE_NORMAL = 0x803A
+
+gl_RESCALE_NORMAL_EXT :: GLenum
+gl_RESCALE_NORMAL_EXT = 0x803A
+
+gl_RESET_NOTIFICATION_STRATEGY :: GLenum
+gl_RESET_NOTIFICATION_STRATEGY = 0x8256
+
+gl_RESET_NOTIFICATION_STRATEGY_ARB :: GLenum
+gl_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256
+
+gl_RESET_NOTIFICATION_STRATEGY_EXT :: GLenum
+gl_RESET_NOTIFICATION_STRATEGY_EXT = 0x8256
+
+gl_RESET_NOTIFICATION_STRATEGY_KHR :: GLenum
+gl_RESET_NOTIFICATION_STRATEGY_KHR = 0x8256
+
+gl_RESTART_PATH_NV :: GLubyte
+gl_RESTART_PATH_NV = 0xF0
+
+gl_RESTART_SUN :: GLenum
+gl_RESTART_SUN = 0x0001
+
+gl_RETAINED_APPLE :: GLenum
+gl_RETAINED_APPLE = 0x8A1B
+
+gl_RETURN :: GLenum
+gl_RETURN = 0x0102
+
+gl_RG :: GLenum
+gl_RG = 0x8227
+
+gl_RG16 :: GLenum
+gl_RG16 = 0x822C
+
+gl_RG16F :: GLenum
+gl_RG16F = 0x822F
+
+gl_RG16F_EXT :: GLenum
+gl_RG16F_EXT = 0x822F
+
+gl_RG16I :: GLenum
+gl_RG16I = 0x8239
+
+gl_RG16UI :: GLenum
+gl_RG16UI = 0x823A
+
+gl_RG16_EXT :: GLenum
+gl_RG16_EXT = 0x822C
+
+gl_RG16_SNORM :: GLenum
+gl_RG16_SNORM = 0x8F99
+
+gl_RG16_SNORM_EXT :: GLenum
+gl_RG16_SNORM_EXT = 0x8F99
+
+gl_RG32F :: GLenum
+gl_RG32F = 0x8230
+
+gl_RG32F_EXT :: GLenum
+gl_RG32F_EXT = 0x8230
+
+gl_RG32I :: GLenum
+gl_RG32I = 0x823B
+
+gl_RG32UI :: GLenum
+gl_RG32UI = 0x823C
+
+gl_RG8 :: GLenum
+gl_RG8 = 0x822B
+
+gl_RG8I :: GLenum
+gl_RG8I = 0x8237
+
+gl_RG8UI :: GLenum
+gl_RG8UI = 0x8238
+
+gl_RG8_EXT :: GLenum
+gl_RG8_EXT = 0x822B
+
+gl_RG8_SNORM :: GLenum
+gl_RG8_SNORM = 0x8F95
+
+gl_RGB :: GLenum
+gl_RGB = 0x1907
+
+gl_RGB10 :: GLenum
+gl_RGB10 = 0x8052
+
+gl_RGB10_A2 :: GLenum
+gl_RGB10_A2 = 0x8059
+
+gl_RGB10_A2UI :: GLenum
+gl_RGB10_A2UI = 0x906F
+
+gl_RGB10_A2_EXT :: GLenum
+gl_RGB10_A2_EXT = 0x8059
+
+gl_RGB10_EXT :: GLenum
+gl_RGB10_EXT = 0x8052
+
+gl_RGB12 :: GLenum
+gl_RGB12 = 0x8053
+
+gl_RGB12_EXT :: GLenum
+gl_RGB12_EXT = 0x8053
+
+gl_RGB16 :: GLenum
+gl_RGB16 = 0x8054
+
+gl_RGB16F :: GLenum
+gl_RGB16F = 0x881B
+
+gl_RGB16F_ARB :: GLenum
+gl_RGB16F_ARB = 0x881B
+
+gl_RGB16F_EXT :: GLenum
+gl_RGB16F_EXT = 0x881B
+
+gl_RGB16I :: GLenum
+gl_RGB16I = 0x8D89
+
+gl_RGB16I_EXT :: GLenum
+gl_RGB16I_EXT = 0x8D89
+
+gl_RGB16UI :: GLenum
+gl_RGB16UI = 0x8D77
+
+gl_RGB16UI_EXT :: GLenum
+gl_RGB16UI_EXT = 0x8D77
+
+gl_RGB16_EXT :: GLenum
+gl_RGB16_EXT = 0x8054
+
+gl_RGB16_SNORM :: GLenum
+gl_RGB16_SNORM = 0x8F9A
+
+gl_RGB16_SNORM_EXT :: GLenum
+gl_RGB16_SNORM_EXT = 0x8F9A
+
+gl_RGB2_EXT :: GLenum
+gl_RGB2_EXT = 0x804E
+
+gl_RGB32F :: GLenum
+gl_RGB32F = 0x8815
+
+gl_RGB32F_ARB :: GLenum
+gl_RGB32F_ARB = 0x8815
+
+gl_RGB32F_EXT :: GLenum
+gl_RGB32F_EXT = 0x8815
+
+gl_RGB32I :: GLenum
+gl_RGB32I = 0x8D83
+
+gl_RGB32I_EXT :: GLenum
+gl_RGB32I_EXT = 0x8D83
+
+gl_RGB32UI :: GLenum
+gl_RGB32UI = 0x8D71
+
+gl_RGB32UI_EXT :: GLenum
+gl_RGB32UI_EXT = 0x8D71
+
+gl_RGB4 :: GLenum
+gl_RGB4 = 0x804F
+
+gl_RGB4_EXT :: GLenum
+gl_RGB4_EXT = 0x804F
+
+gl_RGB4_S3TC :: GLenum
+gl_RGB4_S3TC = 0x83A1
+
+gl_RGB5 :: GLenum
+gl_RGB5 = 0x8050
+
+gl_RGB565 :: GLenum
+gl_RGB565 = 0x8D62
+
+gl_RGB565_OES :: GLenum
+gl_RGB565_OES = 0x8D62
+
+gl_RGB5_A1 :: GLenum
+gl_RGB5_A1 = 0x8057
+
+gl_RGB5_A1_EXT :: GLenum
+gl_RGB5_A1_EXT = 0x8057
+
+gl_RGB5_A1_OES :: GLenum
+gl_RGB5_A1_OES = 0x8057
+
+gl_RGB5_EXT :: GLenum
+gl_RGB5_EXT = 0x8050
+
+gl_RGB8 :: GLenum
+gl_RGB8 = 0x8051
+
+gl_RGB8I :: GLenum
+gl_RGB8I = 0x8D8F
+
+gl_RGB8I_EXT :: GLenum
+gl_RGB8I_EXT = 0x8D8F
+
+gl_RGB8UI :: GLenum
+gl_RGB8UI = 0x8D7D
+
+gl_RGB8UI_EXT :: GLenum
+gl_RGB8UI_EXT = 0x8D7D
+
+gl_RGB8_EXT :: GLenum
+gl_RGB8_EXT = 0x8051
+
+gl_RGB8_OES :: GLenum
+gl_RGB8_OES = 0x8051
+
+gl_RGB8_SNORM :: GLenum
+gl_RGB8_SNORM = 0x8F96
+
+gl_RGB9_E5 :: GLenum
+gl_RGB9_E5 = 0x8C3D
+
+gl_RGB9_E5_APPLE :: GLenum
+gl_RGB9_E5_APPLE = 0x8C3D
+
+gl_RGB9_E5_EXT :: GLenum
+gl_RGB9_E5_EXT = 0x8C3D
+
+gl_RGBA :: GLenum
+gl_RGBA = 0x1908
+
+gl_RGBA12 :: GLenum
+gl_RGBA12 = 0x805A
+
+gl_RGBA12_EXT :: GLenum
+gl_RGBA12_EXT = 0x805A
+
+gl_RGBA16 :: GLenum
+gl_RGBA16 = 0x805B
+
+gl_RGBA16F :: GLenum
+gl_RGBA16F = 0x881A
+
+gl_RGBA16F_ARB :: GLenum
+gl_RGBA16F_ARB = 0x881A
+
+gl_RGBA16F_EXT :: GLenum
+gl_RGBA16F_EXT = 0x881A
+
+gl_RGBA16I :: GLenum
+gl_RGBA16I = 0x8D88
+
+gl_RGBA16I_EXT :: GLenum
+gl_RGBA16I_EXT = 0x8D88
+
+gl_RGBA16UI :: GLenum
+gl_RGBA16UI = 0x8D76
+
+gl_RGBA16UI_EXT :: GLenum
+gl_RGBA16UI_EXT = 0x8D76
+
+gl_RGBA16_EXT :: GLenum
+gl_RGBA16_EXT = 0x805B
+
+gl_RGBA16_SNORM :: GLenum
+gl_RGBA16_SNORM = 0x8F9B
+
+gl_RGBA16_SNORM_EXT :: GLenum
+gl_RGBA16_SNORM_EXT = 0x8F9B
+
+gl_RGBA2 :: GLenum
+gl_RGBA2 = 0x8055
+
+gl_RGBA2_EXT :: GLenum
+gl_RGBA2_EXT = 0x8055
+
+gl_RGBA32F :: GLenum
+gl_RGBA32F = 0x8814
+
+gl_RGBA32F_ARB :: GLenum
+gl_RGBA32F_ARB = 0x8814
+
+gl_RGBA32F_EXT :: GLenum
+gl_RGBA32F_EXT = 0x8814
+
+gl_RGBA32I :: GLenum
+gl_RGBA32I = 0x8D82
+
+gl_RGBA32I_EXT :: GLenum
+gl_RGBA32I_EXT = 0x8D82
+
+gl_RGBA32UI :: GLenum
+gl_RGBA32UI = 0x8D70
+
+gl_RGBA32UI_EXT :: GLenum
+gl_RGBA32UI_EXT = 0x8D70
+
+gl_RGBA4 :: GLenum
+gl_RGBA4 = 0x8056
+
+gl_RGBA4_DXT5_S3TC :: GLenum
+gl_RGBA4_DXT5_S3TC = 0x83A5
+
+gl_RGBA4_EXT :: GLenum
+gl_RGBA4_EXT = 0x8056
+
+gl_RGBA4_OES :: GLenum
+gl_RGBA4_OES = 0x8056
+
+gl_RGBA4_S3TC :: GLenum
+gl_RGBA4_S3TC = 0x83A3
+
+gl_RGBA8 :: GLenum
+gl_RGBA8 = 0x8058
+
+gl_RGBA8I :: GLenum
+gl_RGBA8I = 0x8D8E
+
+gl_RGBA8I_EXT :: GLenum
+gl_RGBA8I_EXT = 0x8D8E
+
+gl_RGBA8UI :: GLenum
+gl_RGBA8UI = 0x8D7C
+
+gl_RGBA8UI_EXT :: GLenum
+gl_RGBA8UI_EXT = 0x8D7C
+
+gl_RGBA8_EXT :: GLenum
+gl_RGBA8_EXT = 0x8058
+
+gl_RGBA8_OES :: GLenum
+gl_RGBA8_OES = 0x8058
+
+gl_RGBA8_SNORM :: GLenum
+gl_RGBA8_SNORM = 0x8F97
+
+gl_RGBA_DXT5_S3TC :: GLenum
+gl_RGBA_DXT5_S3TC = 0x83A4
+
+gl_RGBA_FLOAT16_APPLE :: GLenum
+gl_RGBA_FLOAT16_APPLE = 0x881A
+
+gl_RGBA_FLOAT16_ATI :: GLenum
+gl_RGBA_FLOAT16_ATI = 0x881A
+
+gl_RGBA_FLOAT32_APPLE :: GLenum
+gl_RGBA_FLOAT32_APPLE = 0x8814
+
+gl_RGBA_FLOAT32_ATI :: GLenum
+gl_RGBA_FLOAT32_ATI = 0x8814
+
+gl_RGBA_FLOAT_MODE_ARB :: GLenum
+gl_RGBA_FLOAT_MODE_ARB = 0x8820
+
+gl_RGBA_FLOAT_MODE_ATI :: GLenum
+gl_RGBA_FLOAT_MODE_ATI = 0x8820
+
+gl_RGBA_INTEGER :: GLenum
+gl_RGBA_INTEGER = 0x8D99
+
+gl_RGBA_INTEGER_EXT :: GLenum
+gl_RGBA_INTEGER_EXT = 0x8D99
+
+gl_RGBA_INTEGER_MODE_EXT :: GLenum
+gl_RGBA_INTEGER_MODE_EXT = 0x8D9E
+
+gl_RGBA_MODE :: GLenum
+gl_RGBA_MODE = 0x0C31
+
+gl_RGBA_S3TC :: GLenum
+gl_RGBA_S3TC = 0x83A2
+
+gl_RGBA_SIGNED_COMPONENTS_EXT :: GLenum
+gl_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C
+
+gl_RGBA_SNORM :: GLenum
+gl_RGBA_SNORM = 0x8F93
+
+gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV :: GLenum
+gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9
+
+gl_RGB_422_APPLE :: GLenum
+gl_RGB_422_APPLE = 0x8A1F
+
+gl_RGB_FLOAT16_APPLE :: GLenum
+gl_RGB_FLOAT16_APPLE = 0x881B
+
+gl_RGB_FLOAT16_ATI :: GLenum
+gl_RGB_FLOAT16_ATI = 0x881B
+
+gl_RGB_FLOAT32_APPLE :: GLenum
+gl_RGB_FLOAT32_APPLE = 0x8815
+
+gl_RGB_FLOAT32_ATI :: GLenum
+gl_RGB_FLOAT32_ATI = 0x8815
+
+gl_RGB_INTEGER :: GLenum
+gl_RGB_INTEGER = 0x8D98
+
+gl_RGB_INTEGER_EXT :: GLenum
+gl_RGB_INTEGER_EXT = 0x8D98
+
+gl_RGB_RAW_422_APPLE :: GLenum
+gl_RGB_RAW_422_APPLE = 0x8A51
+
+gl_RGB_S3TC :: GLenum
+gl_RGB_S3TC = 0x83A0
+
+gl_RGB_SCALE :: GLenum
+gl_RGB_SCALE = 0x8573
+
+gl_RGB_SCALE_ARB :: GLenum
+gl_RGB_SCALE_ARB = 0x8573
+
+gl_RGB_SCALE_EXT :: GLenum
+gl_RGB_SCALE_EXT = 0x8573
+
+gl_RGB_SNORM :: GLenum
+gl_RGB_SNORM = 0x8F92
+
+gl_RG_EXT :: GLenum
+gl_RG_EXT = 0x8227
+
+gl_RG_INTEGER :: GLenum
+gl_RG_INTEGER = 0x8228
+
+gl_RG_SNORM :: GLenum
+gl_RG_SNORM = 0x8F91
+
+gl_RIGHT :: GLenum
+gl_RIGHT = 0x0407
+
+gl_ROUNDED_RECT2_NV :: GLubyte
+gl_ROUNDED_RECT2_NV = 0xEA
+
+gl_ROUNDED_RECT4_NV :: GLubyte
+gl_ROUNDED_RECT4_NV = 0xEC
+
+gl_ROUNDED_RECT8_NV :: GLubyte
+gl_ROUNDED_RECT8_NV = 0xEE
+
+gl_ROUNDED_RECT_NV :: GLubyte
+gl_ROUNDED_RECT_NV = 0xE8
+
+gl_ROUND_NV :: GLenum
+gl_ROUND_NV = 0x90A4
+
+gl_S :: GLenum
+gl_S = 0x2000
+
+gl_SAMPLER :: GLenum
+gl_SAMPLER = 0x82E6
+
+gl_SAMPLER_1D :: GLenum
+gl_SAMPLER_1D = 0x8B5D
+
+gl_SAMPLER_1D_ARB :: GLenum
+gl_SAMPLER_1D_ARB = 0x8B5D
+
+gl_SAMPLER_1D_ARRAY :: GLenum
+gl_SAMPLER_1D_ARRAY = 0x8DC0
+
+gl_SAMPLER_1D_ARRAY_EXT :: GLenum
+gl_SAMPLER_1D_ARRAY_EXT = 0x8DC0
+
+gl_SAMPLER_1D_ARRAY_SHADOW :: GLenum
+gl_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3
+
+gl_SAMPLER_1D_ARRAY_SHADOW_EXT :: GLenum
+gl_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3
+
+gl_SAMPLER_1D_SHADOW :: GLenum
+gl_SAMPLER_1D_SHADOW = 0x8B61
+
+gl_SAMPLER_1D_SHADOW_ARB :: GLenum
+gl_SAMPLER_1D_SHADOW_ARB = 0x8B61
+
+gl_SAMPLER_2D :: GLenum
+gl_SAMPLER_2D = 0x8B5E
+
+gl_SAMPLER_2D_ARB :: GLenum
+gl_SAMPLER_2D_ARB = 0x8B5E
+
+gl_SAMPLER_2D_ARRAY :: GLenum
+gl_SAMPLER_2D_ARRAY = 0x8DC1
+
+gl_SAMPLER_2D_ARRAY_EXT :: GLenum
+gl_SAMPLER_2D_ARRAY_EXT = 0x8DC1
+
+gl_SAMPLER_2D_ARRAY_SHADOW :: GLenum
+gl_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4
+
+gl_SAMPLER_2D_ARRAY_SHADOW_EXT :: GLenum
+gl_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4
+
+gl_SAMPLER_2D_ARRAY_SHADOW_NV :: GLenum
+gl_SAMPLER_2D_ARRAY_SHADOW_NV = 0x8DC4
+
+gl_SAMPLER_2D_MULTISAMPLE :: GLenum
+gl_SAMPLER_2D_MULTISAMPLE = 0x9108
+
+gl_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B
+
+gl_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
+gl_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B
+
+gl_SAMPLER_2D_RECT :: GLenum
+gl_SAMPLER_2D_RECT = 0x8B63
+
+gl_SAMPLER_2D_RECT_ARB :: GLenum
+gl_SAMPLER_2D_RECT_ARB = 0x8B63
+
+gl_SAMPLER_2D_RECT_SHADOW :: GLenum
+gl_SAMPLER_2D_RECT_SHADOW = 0x8B64
+
+gl_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum
+gl_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64
+
+gl_SAMPLER_2D_SHADOW :: GLenum
+gl_SAMPLER_2D_SHADOW = 0x8B62
+
+gl_SAMPLER_2D_SHADOW_ARB :: GLenum
+gl_SAMPLER_2D_SHADOW_ARB = 0x8B62
+
+gl_SAMPLER_2D_SHADOW_EXT :: GLenum
+gl_SAMPLER_2D_SHADOW_EXT = 0x8B62
+
+gl_SAMPLER_3D :: GLenum
+gl_SAMPLER_3D = 0x8B5F
+
+gl_SAMPLER_3D_ARB :: GLenum
+gl_SAMPLER_3D_ARB = 0x8B5F
+
+gl_SAMPLER_3D_OES :: GLenum
+gl_SAMPLER_3D_OES = 0x8B5F
+
+gl_SAMPLER_BINDING :: GLenum
+gl_SAMPLER_BINDING = 0x8919
+
+gl_SAMPLER_BUFFER :: GLenum
+gl_SAMPLER_BUFFER = 0x8DC2
+
+gl_SAMPLER_BUFFER_AMD :: GLenum
+gl_SAMPLER_BUFFER_AMD = 0x9001
+
+gl_SAMPLER_BUFFER_EXT :: GLenum
+gl_SAMPLER_BUFFER_EXT = 0x8DC2
+
+gl_SAMPLER_BUFFER_OES :: GLenum
+gl_SAMPLER_BUFFER_OES = 0x8DC2
+
+gl_SAMPLER_CUBE :: GLenum
+gl_SAMPLER_CUBE = 0x8B60
+
+gl_SAMPLER_CUBE_ARB :: GLenum
+gl_SAMPLER_CUBE_ARB = 0x8B60
+
+gl_SAMPLER_CUBE_MAP_ARRAY :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY = 0x900C
+
+gl_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C
+
+gl_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C
+
+gl_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900C
+
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D
+
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D
+
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D
+
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES :: GLenum
+gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = 0x900D
+
+gl_SAMPLER_CUBE_SHADOW :: GLenum
+gl_SAMPLER_CUBE_SHADOW = 0x8DC5
+
+gl_SAMPLER_CUBE_SHADOW_EXT :: GLenum
+gl_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5
+
+gl_SAMPLER_CUBE_SHADOW_NV :: GLenum
+gl_SAMPLER_CUBE_SHADOW_NV = 0x8DC5
+
+gl_SAMPLER_EXTERNAL_OES :: GLenum
+gl_SAMPLER_EXTERNAL_OES = 0x8D66
+
+gl_SAMPLER_KHR :: GLenum
+gl_SAMPLER_KHR = 0x82E6
+
+gl_SAMPLER_OBJECT_AMD :: GLenum
+gl_SAMPLER_OBJECT_AMD = 0x9155
+
+gl_SAMPLER_RENDERBUFFER_NV :: GLenum
+gl_SAMPLER_RENDERBUFFER_NV = 0x8E56
+
+gl_SAMPLES :: GLenum
+gl_SAMPLES = 0x80A9
+
+gl_SAMPLES_3DFX :: GLenum
+gl_SAMPLES_3DFX = 0x86B4
+
+gl_SAMPLES_ARB :: GLenum
+gl_SAMPLES_ARB = 0x80A9
+
+gl_SAMPLES_EXT :: GLenum
+gl_SAMPLES_EXT = 0x80A9
+
+gl_SAMPLES_PASSED :: GLenum
+gl_SAMPLES_PASSED = 0x8914
+
+gl_SAMPLES_PASSED_ARB :: GLenum
+gl_SAMPLES_PASSED_ARB = 0x8914
+
+gl_SAMPLES_SGIS :: GLenum
+gl_SAMPLES_SGIS = 0x80A9
+
+gl_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
+gl_SAMPLE_ALPHA_TO_COVERAGE = 0x809E
+
+gl_SAMPLE_ALPHA_TO_COVERAGE_ARB :: GLenum
+gl_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E
+
+gl_SAMPLE_ALPHA_TO_MASK_EXT :: GLenum
+gl_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E
+
+gl_SAMPLE_ALPHA_TO_MASK_SGIS :: GLenum
+gl_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E
+
+gl_SAMPLE_ALPHA_TO_ONE :: GLenum
+gl_SAMPLE_ALPHA_TO_ONE = 0x809F
+
+gl_SAMPLE_ALPHA_TO_ONE_ARB :: GLenum
+gl_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F
+
+gl_SAMPLE_ALPHA_TO_ONE_EXT :: GLenum
+gl_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F
+
+gl_SAMPLE_ALPHA_TO_ONE_SGIS :: GLenum
+gl_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F
+
+gl_SAMPLE_BUFFERS :: GLenum
+gl_SAMPLE_BUFFERS = 0x80A8
+
+gl_SAMPLE_BUFFERS_3DFX :: GLenum
+gl_SAMPLE_BUFFERS_3DFX = 0x86B3
+
+gl_SAMPLE_BUFFERS_ARB :: GLenum
+gl_SAMPLE_BUFFERS_ARB = 0x80A8
+
+gl_SAMPLE_BUFFERS_EXT :: GLenum
+gl_SAMPLE_BUFFERS_EXT = 0x80A8
+
+gl_SAMPLE_BUFFERS_SGIS :: GLenum
+gl_SAMPLE_BUFFERS_SGIS = 0x80A8
+
+gl_SAMPLE_COVERAGE :: GLenum
+gl_SAMPLE_COVERAGE = 0x80A0
+
+gl_SAMPLE_COVERAGE_ARB :: GLenum
+gl_SAMPLE_COVERAGE_ARB = 0x80A0
+
+gl_SAMPLE_COVERAGE_INVERT :: GLenum
+gl_SAMPLE_COVERAGE_INVERT = 0x80AB
+
+gl_SAMPLE_COVERAGE_INVERT_ARB :: GLenum
+gl_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB
+
+gl_SAMPLE_COVERAGE_VALUE :: GLenum
+gl_SAMPLE_COVERAGE_VALUE = 0x80AA
+
+gl_SAMPLE_COVERAGE_VALUE_ARB :: GLenum
+gl_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA
+
+gl_SAMPLE_LOCATION_NV :: GLenum
+gl_SAMPLE_LOCATION_NV = 0x8E50
+
+gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV :: GLenum
+gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F
+
+gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV :: GLenum
+gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E
+
+gl_SAMPLE_LOCATION_SUBPIXEL_BITS_NV :: GLenum
+gl_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D
+
+gl_SAMPLE_MASK :: GLenum
+gl_SAMPLE_MASK = 0x8E51
+
+gl_SAMPLE_MASK_EXT :: GLenum
+gl_SAMPLE_MASK_EXT = 0x80A0
+
+gl_SAMPLE_MASK_INVERT_EXT :: GLenum
+gl_SAMPLE_MASK_INVERT_EXT = 0x80AB
+
+gl_SAMPLE_MASK_INVERT_SGIS :: GLenum
+gl_SAMPLE_MASK_INVERT_SGIS = 0x80AB
+
+gl_SAMPLE_MASK_NV :: GLenum
+gl_SAMPLE_MASK_NV = 0x8E51
+
+gl_SAMPLE_MASK_SGIS :: GLenum
+gl_SAMPLE_MASK_SGIS = 0x80A0
+
+gl_SAMPLE_MASK_VALUE :: GLenum
+gl_SAMPLE_MASK_VALUE = 0x8E52
+
+gl_SAMPLE_MASK_VALUE_EXT :: GLenum
+gl_SAMPLE_MASK_VALUE_EXT = 0x80AA
+
+gl_SAMPLE_MASK_VALUE_NV :: GLenum
+gl_SAMPLE_MASK_VALUE_NV = 0x8E52
+
+gl_SAMPLE_MASK_VALUE_SGIS :: GLenum
+gl_SAMPLE_MASK_VALUE_SGIS = 0x80AA
+
+gl_SAMPLE_PATTERN_EXT :: GLenum
+gl_SAMPLE_PATTERN_EXT = 0x80AC
+
+gl_SAMPLE_PATTERN_SGIS :: GLenum
+gl_SAMPLE_PATTERN_SGIS = 0x80AC
+
+gl_SAMPLE_POSITION :: GLenum
+gl_SAMPLE_POSITION = 0x8E50
+
+gl_SAMPLE_POSITION_NV :: GLenum
+gl_SAMPLE_POSITION_NV = 0x8E50
+
+gl_SAMPLE_SHADING :: GLenum
+gl_SAMPLE_SHADING = 0x8C36
+
+gl_SAMPLE_SHADING_ARB :: GLenum
+gl_SAMPLE_SHADING_ARB = 0x8C36
+
+gl_SAMPLE_SHADING_OES :: GLenum
+gl_SAMPLE_SHADING_OES = 0x8C36
+
+gl_SATURATE_BIT_ATI :: GLbitfield
+gl_SATURATE_BIT_ATI = 0x00000040
+
+gl_SCALAR_EXT :: GLenum
+gl_SCALAR_EXT = 0x87BE
+
+gl_SCALEBIAS_HINT_SGIX :: GLenum
+gl_SCALEBIAS_HINT_SGIX = 0x8322
+
+gl_SCALED_RESOLVE_FASTEST_EXT :: GLenum
+gl_SCALED_RESOLVE_FASTEST_EXT = 0x90BA
+
+gl_SCALED_RESOLVE_NICEST_EXT :: GLenum
+gl_SCALED_RESOLVE_NICEST_EXT = 0x90BB
+
+gl_SCALE_BY_FOUR_NV :: GLenum
+gl_SCALE_BY_FOUR_NV = 0x853F
+
+gl_SCALE_BY_ONE_HALF_NV :: GLenum
+gl_SCALE_BY_ONE_HALF_NV = 0x8540
+
+gl_SCALE_BY_TWO_NV :: GLenum
+gl_SCALE_BY_TWO_NV = 0x853E
+
+gl_SCISSOR_BIT :: GLbitfield
+gl_SCISSOR_BIT = 0x00080000
+
+gl_SCISSOR_BOX :: GLenum
+gl_SCISSOR_BOX = 0x0C10
+
+gl_SCISSOR_TEST :: GLenum
+gl_SCISSOR_TEST = 0x0C11
+
+gl_SCREEN_COORDINATES_REND :: GLenum
+gl_SCREEN_COORDINATES_REND = 0x8490
+
+gl_SCREEN_KHR :: GLenum
+gl_SCREEN_KHR = 0x9295
+
+gl_SCREEN_NV :: GLenum
+gl_SCREEN_NV = 0x9295
+
+gl_SECONDARY_COLOR_ARRAY :: GLenum
+gl_SECONDARY_COLOR_ARRAY = 0x845E
+
+gl_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: GLenum
+gl_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27
+
+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C
+
+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C
+
+gl_SECONDARY_COLOR_ARRAY_EXT :: GLenum
+gl_SECONDARY_COLOR_ARRAY_EXT = 0x845E
+
+gl_SECONDARY_COLOR_ARRAY_LENGTH_NV :: GLenum
+gl_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31
+
+gl_SECONDARY_COLOR_ARRAY_LIST_IBM :: GLenum
+gl_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077
+
+gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087
+
+gl_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
+gl_SECONDARY_COLOR_ARRAY_POINTER = 0x845D
+
+gl_SECONDARY_COLOR_ARRAY_POINTER_EXT :: GLenum
+gl_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D
+
+gl_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
+gl_SECONDARY_COLOR_ARRAY_SIZE = 0x845A
+
+gl_SECONDARY_COLOR_ARRAY_SIZE_EXT :: GLenum
+gl_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A
+
+gl_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
+gl_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C
+
+gl_SECONDARY_COLOR_ARRAY_STRIDE_EXT :: GLenum
+gl_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C
+
+gl_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
+gl_SECONDARY_COLOR_ARRAY_TYPE = 0x845B
+
+gl_SECONDARY_COLOR_ARRAY_TYPE_EXT :: GLenum
+gl_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B
+
+gl_SECONDARY_COLOR_NV :: GLenum
+gl_SECONDARY_COLOR_NV = 0x852D
+
+gl_SECONDARY_INTERPOLATOR_ATI :: GLenum
+gl_SECONDARY_INTERPOLATOR_ATI = 0x896D
+
+gl_SELECT :: GLenum
+gl_SELECT = 0x1C02
+
+gl_SELECTION_BUFFER_POINTER :: GLenum
+gl_SELECTION_BUFFER_POINTER = 0x0DF3
+
+gl_SELECTION_BUFFER_SIZE :: GLenum
+gl_SELECTION_BUFFER_SIZE = 0x0DF4
+
+gl_SEPARABLE_2D :: GLenum
+gl_SEPARABLE_2D = 0x8012
+
+gl_SEPARABLE_2D_EXT :: GLenum
+gl_SEPARABLE_2D_EXT = 0x8012
+
+gl_SEPARATE_ATTRIBS :: GLenum
+gl_SEPARATE_ATTRIBS = 0x8C8D
+
+gl_SEPARATE_ATTRIBS_EXT :: GLenum
+gl_SEPARATE_ATTRIBS_EXT = 0x8C8D
+
+gl_SEPARATE_ATTRIBS_NV :: GLenum
+gl_SEPARATE_ATTRIBS_NV = 0x8C8D
+
+gl_SEPARATE_SPECULAR_COLOR :: GLenum
+gl_SEPARATE_SPECULAR_COLOR = 0x81FA
+
+gl_SEPARATE_SPECULAR_COLOR_EXT :: GLenum
+gl_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA
+
+gl_SET :: GLenum
+gl_SET = 0x150F
+
+gl_SET_AMD :: GLenum
+gl_SET_AMD = 0x874A
+
+gl_SGX_BINARY_IMG :: GLenum
+gl_SGX_BINARY_IMG = 0x8C0A
+
+gl_SGX_PROGRAM_BINARY_IMG :: GLenum
+gl_SGX_PROGRAM_BINARY_IMG = 0x9130
+
+gl_SHADER :: GLenum
+gl_SHADER = 0x82E1
+
+gl_SHADER_BINARY_DMP :: GLenum
+gl_SHADER_BINARY_DMP = 0x9250
+
+gl_SHADER_BINARY_FORMATS :: GLenum
+gl_SHADER_BINARY_FORMATS = 0x8DF8
+
+gl_SHADER_BINARY_VIV :: GLenum
+gl_SHADER_BINARY_VIV = 0x8FC4
+
+gl_SHADER_COMPILER :: GLenum
+gl_SHADER_COMPILER = 0x8DFA
+
+gl_SHADER_CONSISTENT_NV :: GLenum
+gl_SHADER_CONSISTENT_NV = 0x86DD
+
+gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV :: GLbitfield
+gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010
+
+gl_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
+gl_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020
+
+gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT :: GLbitfield
+gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020
+
+gl_SHADER_IMAGE_ATOMIC :: GLenum
+gl_SHADER_IMAGE_ATOMIC = 0x82A6
+
+gl_SHADER_IMAGE_LOAD :: GLenum
+gl_SHADER_IMAGE_LOAD = 0x82A4
+
+gl_SHADER_IMAGE_STORE :: GLenum
+gl_SHADER_IMAGE_STORE = 0x82A5
+
+gl_SHADER_INCLUDE_ARB :: GLenum
+gl_SHADER_INCLUDE_ARB = 0x8DAE
+
+gl_SHADER_KHR :: GLenum
+gl_SHADER_KHR = 0x82E1
+
+gl_SHADER_OBJECT_ARB :: GLenum
+gl_SHADER_OBJECT_ARB = 0x8B48
+
+gl_SHADER_OBJECT_EXT :: GLenum
+gl_SHADER_OBJECT_EXT = 0x8B48
+
+gl_SHADER_OPERATION_NV :: GLenum
+gl_SHADER_OPERATION_NV = 0x86DF
+
+gl_SHADER_PIXEL_LOCAL_STORAGE_EXT :: GLenum
+gl_SHADER_PIXEL_LOCAL_STORAGE_EXT = 0x8F64
+
+gl_SHADER_SOURCE_LENGTH :: GLenum
+gl_SHADER_SOURCE_LENGTH = 0x8B88
+
+gl_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
+gl_SHADER_STORAGE_BARRIER_BIT = 0x00002000
+
+gl_SHADER_STORAGE_BLOCK :: GLenum
+gl_SHADER_STORAGE_BLOCK = 0x92E6
+
+gl_SHADER_STORAGE_BUFFER :: GLenum
+gl_SHADER_STORAGE_BUFFER = 0x90D2
+
+gl_SHADER_STORAGE_BUFFER_BINDING :: GLenum
+gl_SHADER_STORAGE_BUFFER_BINDING = 0x90D3
+
+gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
+gl_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF
+
+gl_SHADER_STORAGE_BUFFER_SIZE :: GLenum
+gl_SHADER_STORAGE_BUFFER_SIZE = 0x90D5
+
+gl_SHADER_STORAGE_BUFFER_START :: GLenum
+gl_SHADER_STORAGE_BUFFER_START = 0x90D4
+
+gl_SHADER_TYPE :: GLenum
+gl_SHADER_TYPE = 0x8B4F
+
+gl_SHADE_MODEL :: GLenum
+gl_SHADE_MODEL = 0x0B54
+
+gl_SHADING_LANGUAGE_VERSION :: GLenum
+gl_SHADING_LANGUAGE_VERSION = 0x8B8C
+
+gl_SHADING_LANGUAGE_VERSION_ARB :: GLenum
+gl_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C
+
+gl_SHADOW_AMBIENT_SGIX :: GLenum
+gl_SHADOW_AMBIENT_SGIX = 0x80BF
+
+gl_SHADOW_ATTENUATION_EXT :: GLenum
+gl_SHADOW_ATTENUATION_EXT = 0x834E
+
+gl_SHARED_EDGE_NV :: GLubyte
+gl_SHARED_EDGE_NV = 0xC0
+
+gl_SHARED_TEXTURE_PALETTE_EXT :: GLenum
+gl_SHARED_TEXTURE_PALETTE_EXT = 0x81FB
+
+gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS :: GLenum
+gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0
+
+gl_SHININESS :: GLenum
+gl_SHININESS = 0x1601
+
+gl_SHORT :: GLenum
+gl_SHORT = 0x1402
+
+gl_SIGNALED :: GLenum
+gl_SIGNALED = 0x9119
+
+gl_SIGNALED_APPLE :: GLenum
+gl_SIGNALED_APPLE = 0x9119
+
+gl_SIGNED_ALPHA8_NV :: GLenum
+gl_SIGNED_ALPHA8_NV = 0x8706
+
+gl_SIGNED_ALPHA_NV :: GLenum
+gl_SIGNED_ALPHA_NV = 0x8705
+
+gl_SIGNED_HILO16_NV :: GLenum
+gl_SIGNED_HILO16_NV = 0x86FA
+
+gl_SIGNED_HILO8_NV :: GLenum
+gl_SIGNED_HILO8_NV = 0x885F
+
+gl_SIGNED_HILO_NV :: GLenum
+gl_SIGNED_HILO_NV = 0x86F9
+
+gl_SIGNED_IDENTITY_NV :: GLenum
+gl_SIGNED_IDENTITY_NV = 0x853C
+
+gl_SIGNED_INTENSITY8_NV :: GLenum
+gl_SIGNED_INTENSITY8_NV = 0x8708
+
+gl_SIGNED_INTENSITY_NV :: GLenum
+gl_SIGNED_INTENSITY_NV = 0x8707
+
+gl_SIGNED_LUMINANCE8_ALPHA8_NV :: GLenum
+gl_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704
+
+gl_SIGNED_LUMINANCE8_NV :: GLenum
+gl_SIGNED_LUMINANCE8_NV = 0x8702
+
+gl_SIGNED_LUMINANCE_ALPHA_NV :: GLenum
+gl_SIGNED_LUMINANCE_ALPHA_NV = 0x8703
+
+gl_SIGNED_LUMINANCE_NV :: GLenum
+gl_SIGNED_LUMINANCE_NV = 0x8701
+
+gl_SIGNED_NEGATE_NV :: GLenum
+gl_SIGNED_NEGATE_NV = 0x853D
+
+gl_SIGNED_NORMALIZED :: GLenum
+gl_SIGNED_NORMALIZED = 0x8F9C
+
+gl_SIGNED_RGB8_NV :: GLenum
+gl_SIGNED_RGB8_NV = 0x86FF
+
+gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NV :: GLenum
+gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D
+
+gl_SIGNED_RGBA8_NV :: GLenum
+gl_SIGNED_RGBA8_NV = 0x86FC
+
+gl_SIGNED_RGBA_NV :: GLenum
+gl_SIGNED_RGBA_NV = 0x86FB
+
+gl_SIGNED_RGB_NV :: GLenum
+gl_SIGNED_RGB_NV = 0x86FE
+
+gl_SIGNED_RGB_UNSIGNED_ALPHA_NV :: GLenum
+gl_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C
+
+gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
+gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC
+
+gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
+gl_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE
+
+gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
+gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD
+
+gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
+gl_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF
+
+gl_SINGLE_COLOR :: GLenum
+gl_SINGLE_COLOR = 0x81F9
+
+gl_SINGLE_COLOR_EXT :: GLenum
+gl_SINGLE_COLOR_EXT = 0x81F9
+
+gl_SKIP_COMPONENTS1_NV :: GLenum
+gl_SKIP_COMPONENTS1_NV = -6
+
+gl_SKIP_COMPONENTS2_NV :: GLenum
+gl_SKIP_COMPONENTS2_NV = -5
+
+gl_SKIP_COMPONENTS3_NV :: GLenum
+gl_SKIP_COMPONENTS3_NV = -4
+
+gl_SKIP_COMPONENTS4_NV :: GLenum
+gl_SKIP_COMPONENTS4_NV = -3
+
+gl_SKIP_DECODE_EXT :: GLenum
+gl_SKIP_DECODE_EXT = 0x8A4A
+
+gl_SKIP_MISSING_GLYPH_NV :: GLenum
+gl_SKIP_MISSING_GLYPH_NV = 0x90A9
+
+gl_SLICE_ACCUM_SUN :: GLenum
+gl_SLICE_ACCUM_SUN = 0x85CC
+
+gl_SLIM10U_SGIX :: GLenum
+gl_SLIM10U_SGIX = 0x831E
+
+gl_SLIM12S_SGIX :: GLenum
+gl_SLIM12S_SGIX = 0x831F
+
+gl_SLIM8U_SGIX :: GLenum
+gl_SLIM8U_SGIX = 0x831D
+
+gl_SLUMINANCE :: GLenum
+gl_SLUMINANCE = 0x8C46
+
+gl_SLUMINANCE8 :: GLenum
+gl_SLUMINANCE8 = 0x8C47
+
+gl_SLUMINANCE8_ALPHA8 :: GLenum
+gl_SLUMINANCE8_ALPHA8 = 0x8C45
+
+gl_SLUMINANCE8_ALPHA8_EXT :: GLenum
+gl_SLUMINANCE8_ALPHA8_EXT = 0x8C45
+
+gl_SLUMINANCE8_ALPHA8_NV :: GLenum
+gl_SLUMINANCE8_ALPHA8_NV = 0x8C45
+
+gl_SLUMINANCE8_EXT :: GLenum
+gl_SLUMINANCE8_EXT = 0x8C47
+
+gl_SLUMINANCE8_NV :: GLenum
+gl_SLUMINANCE8_NV = 0x8C47
+
+gl_SLUMINANCE_ALPHA :: GLenum
+gl_SLUMINANCE_ALPHA = 0x8C44
+
+gl_SLUMINANCE_ALPHA_EXT :: GLenum
+gl_SLUMINANCE_ALPHA_EXT = 0x8C44
+
+gl_SLUMINANCE_ALPHA_NV :: GLenum
+gl_SLUMINANCE_ALPHA_NV = 0x8C44
+
+gl_SLUMINANCE_EXT :: GLenum
+gl_SLUMINANCE_EXT = 0x8C46
+
+gl_SLUMINANCE_NV :: GLenum
+gl_SLUMINANCE_NV = 0x8C46
+
+gl_SMALL_CCW_ARC_TO_NV :: GLubyte
+gl_SMALL_CCW_ARC_TO_NV = 0x12
+
+gl_SMALL_CW_ARC_TO_NV :: GLubyte
+gl_SMALL_CW_ARC_TO_NV = 0x14
+
+gl_SMAPHS30_PROGRAM_BINARY_DMP :: GLenum
+gl_SMAPHS30_PROGRAM_BINARY_DMP = 0x9251
+
+gl_SMAPHS_PROGRAM_BINARY_DMP :: GLenum
+gl_SMAPHS_PROGRAM_BINARY_DMP = 0x9252
+
+gl_SMOOTH :: GLenum
+gl_SMOOTH = 0x1D01
+
+gl_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
+gl_SMOOTH_CUBIC_CURVE_TO_NV = 0x10
+
+gl_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
+gl_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23
+
+gl_SMOOTH_LINE_WIDTH_RANGE :: GLenum
+gl_SMOOTH_LINE_WIDTH_RANGE = 0x0B22
+
+gl_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
+gl_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13
+
+gl_SMOOTH_POINT_SIZE_RANGE :: GLenum
+gl_SMOOTH_POINT_SIZE_RANGE = 0x0B12
+
+gl_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
+gl_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E
+
+gl_SM_COUNT_NV :: GLenum
+gl_SM_COUNT_NV = 0x933B
+
+gl_SOFTLIGHT_KHR :: GLenum
+gl_SOFTLIGHT_KHR = 0x929C
+
+gl_SOFTLIGHT_NV :: GLenum
+gl_SOFTLIGHT_NV = 0x929C
+
+gl_SOURCE0_ALPHA :: GLenum
+gl_SOURCE0_ALPHA = 0x8588
+
+gl_SOURCE0_ALPHA_ARB :: GLenum
+gl_SOURCE0_ALPHA_ARB = 0x8588
+
+gl_SOURCE0_ALPHA_EXT :: GLenum
+gl_SOURCE0_ALPHA_EXT = 0x8588
+
+gl_SOURCE0_RGB :: GLenum
+gl_SOURCE0_RGB = 0x8580
+
+gl_SOURCE0_RGB_ARB :: GLenum
+gl_SOURCE0_RGB_ARB = 0x8580
+
+gl_SOURCE0_RGB_EXT :: GLenum
+gl_SOURCE0_RGB_EXT = 0x8580
+
+gl_SOURCE1_ALPHA :: GLenum
+gl_SOURCE1_ALPHA = 0x8589
+
+gl_SOURCE1_ALPHA_ARB :: GLenum
+gl_SOURCE1_ALPHA_ARB = 0x8589
+
+gl_SOURCE1_ALPHA_EXT :: GLenum
+gl_SOURCE1_ALPHA_EXT = 0x8589
+
+gl_SOURCE1_RGB :: GLenum
+gl_SOURCE1_RGB = 0x8581
+
+gl_SOURCE1_RGB_ARB :: GLenum
+gl_SOURCE1_RGB_ARB = 0x8581
+
+gl_SOURCE1_RGB_EXT :: GLenum
+gl_SOURCE1_RGB_EXT = 0x8581
+
+gl_SOURCE2_ALPHA :: GLenum
+gl_SOURCE2_ALPHA = 0x858A
+
+gl_SOURCE2_ALPHA_ARB :: GLenum
+gl_SOURCE2_ALPHA_ARB = 0x858A
+
+gl_SOURCE2_ALPHA_EXT :: GLenum
+gl_SOURCE2_ALPHA_EXT = 0x858A
+
+gl_SOURCE2_RGB :: GLenum
+gl_SOURCE2_RGB = 0x8582
+
+gl_SOURCE2_RGB_ARB :: GLenum
+gl_SOURCE2_RGB_ARB = 0x8582
+
+gl_SOURCE2_RGB_EXT :: GLenum
+gl_SOURCE2_RGB_EXT = 0x8582
+
+gl_SOURCE3_ALPHA_NV :: GLenum
+gl_SOURCE3_ALPHA_NV = 0x858B
+
+gl_SOURCE3_RGB_NV :: GLenum
+gl_SOURCE3_RGB_NV = 0x8583
+
+gl_SPARE0_NV :: GLenum
+gl_SPARE0_NV = 0x852E
+
+gl_SPARE0_PLUS_SECONDARY_COLOR_NV :: GLenum
+gl_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532
+
+gl_SPARE1_NV :: GLenum
+gl_SPARE1_NV = 0x852F
+
+gl_SPARSE_BUFFER_PAGE_SIZE_ARB :: GLenum
+gl_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8
+
+gl_SPARSE_STORAGE_BIT_ARB :: GLbitfield
+gl_SPARSE_STORAGE_BIT_ARB = 0x0400
+
+gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB :: GLenum
+gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9
+
+gl_SPECULAR :: GLenum
+gl_SPECULAR = 0x1202
+
+gl_SPHERE_MAP :: GLenum
+gl_SPHERE_MAP = 0x2402
+
+gl_SPOT_CUTOFF :: GLenum
+gl_SPOT_CUTOFF = 0x1206
+
+gl_SPOT_DIRECTION :: GLenum
+gl_SPOT_DIRECTION = 0x1204
+
+gl_SPOT_EXPONENT :: GLenum
+gl_SPOT_EXPONENT = 0x1205
+
+gl_SPRITE_AXIAL_SGIX :: GLenum
+gl_SPRITE_AXIAL_SGIX = 0x814C
+
+gl_SPRITE_AXIS_SGIX :: GLenum
+gl_SPRITE_AXIS_SGIX = 0x814A
+
+gl_SPRITE_EYE_ALIGNED_SGIX :: GLenum
+gl_SPRITE_EYE_ALIGNED_SGIX = 0x814E
+
+gl_SPRITE_MODE_SGIX :: GLenum
+gl_SPRITE_MODE_SGIX = 0x8149
+
+gl_SPRITE_OBJECT_ALIGNED_SGIX :: GLenum
+gl_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D
+
+gl_SPRITE_SGIX :: GLenum
+gl_SPRITE_SGIX = 0x8148
+
+gl_SPRITE_TRANSLATION_SGIX :: GLenum
+gl_SPRITE_TRANSLATION_SGIX = 0x814B
+
+gl_SQUARE_NV :: GLenum
+gl_SQUARE_NV = 0x90A3
+
+gl_SRC0_ALPHA :: GLenum
+gl_SRC0_ALPHA = 0x8588
+
+gl_SRC0_RGB :: GLenum
+gl_SRC0_RGB = 0x8580
+
+gl_SRC1_ALPHA :: GLenum
+gl_SRC1_ALPHA = 0x8589
+
+gl_SRC1_COLOR :: GLenum
+gl_SRC1_COLOR = 0x88F9
+
+gl_SRC1_RGB :: GLenum
+gl_SRC1_RGB = 0x8581
+
+gl_SRC2_ALPHA :: GLenum
+gl_SRC2_ALPHA = 0x858A
+
+gl_SRC2_RGB :: GLenum
+gl_SRC2_RGB = 0x8582
+
+gl_SRC_ALPHA :: GLenum
+gl_SRC_ALPHA = 0x0302
+
+gl_SRC_ALPHA_SATURATE :: GLenum
+gl_SRC_ALPHA_SATURATE = 0x0308
+
+gl_SRC_ATOP_NV :: GLenum
+gl_SRC_ATOP_NV = 0x928E
+
+gl_SRC_COLOR :: GLenum
+gl_SRC_COLOR = 0x0300
+
+gl_SRC_IN_NV :: GLenum
+gl_SRC_IN_NV = 0x928A
+
+gl_SRC_NV :: GLenum
+gl_SRC_NV = 0x9286
+
+gl_SRC_OUT_NV :: GLenum
+gl_SRC_OUT_NV = 0x928C
+
+gl_SRC_OVER_NV :: GLenum
+gl_SRC_OVER_NV = 0x9288
+
+gl_SRGB :: GLenum
+gl_SRGB = 0x8C40
+
+gl_SRGB8 :: GLenum
+gl_SRGB8 = 0x8C41
+
+gl_SRGB8_ALPHA8 :: GLenum
+gl_SRGB8_ALPHA8 = 0x8C43
+
+gl_SRGB8_ALPHA8_EXT :: GLenum
+gl_SRGB8_ALPHA8_EXT = 0x8C43
+
+gl_SRGB8_EXT :: GLenum
+gl_SRGB8_EXT = 0x8C41
+
+gl_SRGB8_NV :: GLenum
+gl_SRGB8_NV = 0x8C41
+
+gl_SRGB_ALPHA :: GLenum
+gl_SRGB_ALPHA = 0x8C42
+
+gl_SRGB_ALPHA_EXT :: GLenum
+gl_SRGB_ALPHA_EXT = 0x8C42
+
+gl_SRGB_DECODE_ARB :: GLenum
+gl_SRGB_DECODE_ARB = 0x8299
+
+gl_SRGB_EXT :: GLenum
+gl_SRGB_EXT = 0x8C40
+
+gl_SRGB_READ :: GLenum
+gl_SRGB_READ = 0x8297
+
+gl_SRGB_WRITE :: GLenum
+gl_SRGB_WRITE = 0x8298
+
+gl_STACK_OVERFLOW :: GLenum
+gl_STACK_OVERFLOW = 0x0503
+
+gl_STACK_OVERFLOW_KHR :: GLenum
+gl_STACK_OVERFLOW_KHR = 0x0503
+
+gl_STACK_UNDERFLOW :: GLenum
+gl_STACK_UNDERFLOW = 0x0504
+
+gl_STACK_UNDERFLOW_KHR :: GLenum
+gl_STACK_UNDERFLOW_KHR = 0x0504
+
+gl_STANDARD_FONT_FORMAT_NV :: GLenum
+gl_STANDARD_FONT_FORMAT_NV = 0x936C
+
+gl_STANDARD_FONT_NAME_NV :: GLenum
+gl_STANDARD_FONT_NAME_NV = 0x9072
+
+gl_STATE_RESTORE :: GLenum
+gl_STATE_RESTORE = 0x8BDC
+
+gl_STATIC_ATI :: GLenum
+gl_STATIC_ATI = 0x8760
+
+gl_STATIC_COPY :: GLenum
+gl_STATIC_COPY = 0x88E6
+
+gl_STATIC_COPY_ARB :: GLenum
+gl_STATIC_COPY_ARB = 0x88E6
+
+gl_STATIC_DRAW :: GLenum
+gl_STATIC_DRAW = 0x88E4
+
+gl_STATIC_DRAW_ARB :: GLenum
+gl_STATIC_DRAW_ARB = 0x88E4
+
+gl_STATIC_READ :: GLenum
+gl_STATIC_READ = 0x88E5
+
+gl_STATIC_READ_ARB :: GLenum
+gl_STATIC_READ_ARB = 0x88E5
+
+gl_STATIC_VERTEX_ARRAY_IBM :: GLenum
+gl_STATIC_VERTEX_ARRAY_IBM = 103061
+
+gl_STENCIL :: GLenum
+gl_STENCIL = 0x1802
+
+gl_STENCIL_ATTACHMENT :: GLenum
+gl_STENCIL_ATTACHMENT = 0x8D20
+
+gl_STENCIL_ATTACHMENT_EXT :: GLenum
+gl_STENCIL_ATTACHMENT_EXT = 0x8D20
+
+gl_STENCIL_ATTACHMENT_OES :: GLenum
+gl_STENCIL_ATTACHMENT_OES = 0x8D20
+
+gl_STENCIL_BACK_FAIL :: GLenum
+gl_STENCIL_BACK_FAIL = 0x8801
+
+gl_STENCIL_BACK_FAIL_ATI :: GLenum
+gl_STENCIL_BACK_FAIL_ATI = 0x8801
+
+gl_STENCIL_BACK_FUNC :: GLenum
+gl_STENCIL_BACK_FUNC = 0x8800
+
+gl_STENCIL_BACK_FUNC_ATI :: GLenum
+gl_STENCIL_BACK_FUNC_ATI = 0x8800
+
+gl_STENCIL_BACK_OP_VALUE_AMD :: GLenum
+gl_STENCIL_BACK_OP_VALUE_AMD = 0x874D
+
+gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
+gl_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802
+
+gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATI :: GLenum
+gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802
+
+gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
+gl_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803
+
+gl_STENCIL_BACK_PASS_DEPTH_PASS_ATI :: GLenum
+gl_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803
+
+gl_STENCIL_BACK_REF :: GLenum
+gl_STENCIL_BACK_REF = 0x8CA3
+
+gl_STENCIL_BACK_VALUE_MASK :: GLenum
+gl_STENCIL_BACK_VALUE_MASK = 0x8CA4
+
+gl_STENCIL_BACK_WRITEMASK :: GLenum
+gl_STENCIL_BACK_WRITEMASK = 0x8CA5
+
+gl_STENCIL_BITS :: GLenum
+gl_STENCIL_BITS = 0x0D57
+
+gl_STENCIL_BUFFER_BIT :: GLbitfield
+gl_STENCIL_BUFFER_BIT = 0x00000400
+
+gl_STENCIL_BUFFER_BIT0_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT0_QCOM = 0x00010000
+
+gl_STENCIL_BUFFER_BIT1_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT1_QCOM = 0x00020000
+
+gl_STENCIL_BUFFER_BIT2_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT2_QCOM = 0x00040000
+
+gl_STENCIL_BUFFER_BIT3_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT3_QCOM = 0x00080000
+
+gl_STENCIL_BUFFER_BIT4_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT4_QCOM = 0x00100000
+
+gl_STENCIL_BUFFER_BIT5_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT5_QCOM = 0x00200000
+
+gl_STENCIL_BUFFER_BIT6_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT6_QCOM = 0x00400000
+
+gl_STENCIL_BUFFER_BIT7_QCOM :: GLbitfield
+gl_STENCIL_BUFFER_BIT7_QCOM = 0x00800000
+
+gl_STENCIL_CLEAR_TAG_VALUE_EXT :: GLenum
+gl_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3
+
+gl_STENCIL_CLEAR_VALUE :: GLenum
+gl_STENCIL_CLEAR_VALUE = 0x0B91
+
+gl_STENCIL_COMPONENTS :: GLenum
+gl_STENCIL_COMPONENTS = 0x8285
+
+gl_STENCIL_EXT :: GLenum
+gl_STENCIL_EXT = 0x1802
+
+gl_STENCIL_FAIL :: GLenum
+gl_STENCIL_FAIL = 0x0B94
+
+gl_STENCIL_FUNC :: GLenum
+gl_STENCIL_FUNC = 0x0B92
+
+gl_STENCIL_INDEX :: GLenum
+gl_STENCIL_INDEX = 0x1901
+
+gl_STENCIL_INDEX1 :: GLenum
+gl_STENCIL_INDEX1 = 0x8D46
+
+gl_STENCIL_INDEX16 :: GLenum
+gl_STENCIL_INDEX16 = 0x8D49
+
+gl_STENCIL_INDEX16_EXT :: GLenum
+gl_STENCIL_INDEX16_EXT = 0x8D49
+
+gl_STENCIL_INDEX1_EXT :: GLenum
+gl_STENCIL_INDEX1_EXT = 0x8D46
+
+gl_STENCIL_INDEX1_OES :: GLenum
+gl_STENCIL_INDEX1_OES = 0x8D46
+
+gl_STENCIL_INDEX4 :: GLenum
+gl_STENCIL_INDEX4 = 0x8D47
+
+gl_STENCIL_INDEX4_EXT :: GLenum
+gl_STENCIL_INDEX4_EXT = 0x8D47
+
+gl_STENCIL_INDEX4_OES :: GLenum
+gl_STENCIL_INDEX4_OES = 0x8D47
+
+gl_STENCIL_INDEX8 :: GLenum
+gl_STENCIL_INDEX8 = 0x8D48
+
+gl_STENCIL_INDEX8_EXT :: GLenum
+gl_STENCIL_INDEX8_EXT = 0x8D48
+
+gl_STENCIL_INDEX8_OES :: GLenum
+gl_STENCIL_INDEX8_OES = 0x8D48
+
+gl_STENCIL_INDEX_OES :: GLenum
+gl_STENCIL_INDEX_OES = 0x1901
+
+gl_STENCIL_OP_VALUE_AMD :: GLenum
+gl_STENCIL_OP_VALUE_AMD = 0x874C
+
+gl_STENCIL_PASS_DEPTH_FAIL :: GLenum
+gl_STENCIL_PASS_DEPTH_FAIL = 0x0B95
+
+gl_STENCIL_PASS_DEPTH_PASS :: GLenum
+gl_STENCIL_PASS_DEPTH_PASS = 0x0B96
+
+gl_STENCIL_REF :: GLenum
+gl_STENCIL_REF = 0x0B97
+
+gl_STENCIL_RENDERABLE :: GLenum
+gl_STENCIL_RENDERABLE = 0x8288
+
+gl_STENCIL_SAMPLES_NV :: GLenum
+gl_STENCIL_SAMPLES_NV = 0x932E
+
+gl_STENCIL_TAG_BITS_EXT :: GLenum
+gl_STENCIL_TAG_BITS_EXT = 0x88F2
+
+gl_STENCIL_TEST :: GLenum
+gl_STENCIL_TEST = 0x0B90
+
+gl_STENCIL_TEST_TWO_SIDE_EXT :: GLenum
+gl_STENCIL_TEST_TWO_SIDE_EXT = 0x8910
+
+gl_STENCIL_VALUE_MASK :: GLenum
+gl_STENCIL_VALUE_MASK = 0x0B93
+
+gl_STENCIL_WRITEMASK :: GLenum
+gl_STENCIL_WRITEMASK = 0x0B98
+
+gl_STEREO :: GLenum
+gl_STEREO = 0x0C33
+
+gl_STORAGE_CACHED_APPLE :: GLenum
+gl_STORAGE_CACHED_APPLE = 0x85BE
+
+gl_STORAGE_CLIENT_APPLE :: GLenum
+gl_STORAGE_CLIENT_APPLE = 0x85B4
+
+gl_STORAGE_PRIVATE_APPLE :: GLenum
+gl_STORAGE_PRIVATE_APPLE = 0x85BD
+
+gl_STORAGE_SHARED_APPLE :: GLenum
+gl_STORAGE_SHARED_APPLE = 0x85BF
+
+gl_STREAM_COPY :: GLenum
+gl_STREAM_COPY = 0x88E2
+
+gl_STREAM_COPY_ARB :: GLenum
+gl_STREAM_COPY_ARB = 0x88E2
+
+gl_STREAM_DRAW :: GLenum
+gl_STREAM_DRAW = 0x88E0
+
+gl_STREAM_DRAW_ARB :: GLenum
+gl_STREAM_DRAW_ARB = 0x88E0
+
+gl_STREAM_RASTERIZATION_AMD :: GLenum
+gl_STREAM_RASTERIZATION_AMD = 0x91A0
+
+gl_STREAM_READ :: GLenum
+gl_STREAM_READ = 0x88E1
+
+gl_STREAM_READ_ARB :: GLenum
+gl_STREAM_READ_ARB = 0x88E1
+
+gl_STRICT_DEPTHFUNC_HINT_PGI :: GLenum
+gl_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216
+
+gl_STRICT_LIGHTING_HINT_PGI :: GLenum
+gl_STRICT_LIGHTING_HINT_PGI = 0x1A217
+
+gl_STRICT_SCISSOR_HINT_PGI :: GLenum
+gl_STRICT_SCISSOR_HINT_PGI = 0x1A218
+
+gl_SUBPIXEL_BITS :: GLenum
+gl_SUBPIXEL_BITS = 0x0D50
+
+gl_SUBPIXEL_PRECISION_BIAS_X_BITS_NV :: GLenum
+gl_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347
+
+gl_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV :: GLenum
+gl_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348
+
+gl_SUBSAMPLE_DISTANCE_AMD :: GLenum
+gl_SUBSAMPLE_DISTANCE_AMD = 0x883F
+
+gl_SUBTRACT :: GLenum
+gl_SUBTRACT = 0x84E7
+
+gl_SUBTRACT_ARB :: GLenum
+gl_SUBTRACT_ARB = 0x84E7
+
+gl_SUB_ATI :: GLenum
+gl_SUB_ATI = 0x8965
+
+gl_SUCCESS_NV :: GLenum
+gl_SUCCESS_NV = 0x902F
+
+gl_SUPERSAMPLE_SCALE_X_NV :: GLenum
+gl_SUPERSAMPLE_SCALE_X_NV = 0x9372
+
+gl_SUPERSAMPLE_SCALE_Y_NV :: GLenum
+gl_SUPERSAMPLE_SCALE_Y_NV = 0x9373
+
+gl_SURFACE_MAPPED_NV :: GLenum
+gl_SURFACE_MAPPED_NV = 0x8700
+
+gl_SURFACE_REGISTERED_NV :: GLenum
+gl_SURFACE_REGISTERED_NV = 0x86FD
+
+gl_SURFACE_STATE_NV :: GLenum
+gl_SURFACE_STATE_NV = 0x86EB
+
+gl_SWIZZLE_STQ_ATI :: GLenum
+gl_SWIZZLE_STQ_ATI = 0x8977
+
+gl_SWIZZLE_STQ_DQ_ATI :: GLenum
+gl_SWIZZLE_STQ_DQ_ATI = 0x8979
+
+gl_SWIZZLE_STRQ_ATI :: GLenum
+gl_SWIZZLE_STRQ_ATI = 0x897A
+
+gl_SWIZZLE_STRQ_DQ_ATI :: GLenum
+gl_SWIZZLE_STRQ_DQ_ATI = 0x897B
+
+gl_SWIZZLE_STR_ATI :: GLenum
+gl_SWIZZLE_STR_ATI = 0x8976
+
+gl_SWIZZLE_STR_DR_ATI :: GLenum
+gl_SWIZZLE_STR_DR_ATI = 0x8978
+
+gl_SYNC_CL_EVENT_ARB :: GLenum
+gl_SYNC_CL_EVENT_ARB = 0x8240
+
+gl_SYNC_CL_EVENT_COMPLETE_ARB :: GLenum
+gl_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241
+
+gl_SYNC_CONDITION :: GLenum
+gl_SYNC_CONDITION = 0x9113
+
+gl_SYNC_CONDITION_APPLE :: GLenum
+gl_SYNC_CONDITION_APPLE = 0x9113
+
+gl_SYNC_FENCE :: GLenum
+gl_SYNC_FENCE = 0x9116
+
+gl_SYNC_FENCE_APPLE :: GLenum
+gl_SYNC_FENCE_APPLE = 0x9116
+
+gl_SYNC_FLAGS :: GLenum
+gl_SYNC_FLAGS = 0x9115
+
+gl_SYNC_FLAGS_APPLE :: GLenum
+gl_SYNC_FLAGS_APPLE = 0x9115
+
+gl_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
+gl_SYNC_FLUSH_COMMANDS_BIT = 0x00000001
+
+gl_SYNC_FLUSH_COMMANDS_BIT_APPLE :: GLbitfield
+gl_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001
+
+gl_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
+gl_SYNC_GPU_COMMANDS_COMPLETE = 0x9117
+
+gl_SYNC_GPU_COMMANDS_COMPLETE_APPLE :: GLenum
+gl_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117
+
+gl_SYNC_OBJECT_APPLE :: GLenum
+gl_SYNC_OBJECT_APPLE = 0x8A53
+
+gl_SYNC_STATUS :: GLenum
+gl_SYNC_STATUS = 0x9114
+
+gl_SYNC_STATUS_APPLE :: GLenum
+gl_SYNC_STATUS_APPLE = 0x9114
+
+gl_SYNC_X11_FENCE_EXT :: GLenum
+gl_SYNC_X11_FENCE_EXT = 0x90E1
+
+gl_SYSTEM_FONT_NAME_NV :: GLenum
+gl_SYSTEM_FONT_NAME_NV = 0x9073
+
+gl_T :: GLenum
+gl_T = 0x2001
+
+gl_T2F_C3F_V3F :: GLenum
+gl_T2F_C3F_V3F = 0x2A2A
+
+gl_T2F_C4F_N3F_V3F :: GLenum
+gl_T2F_C4F_N3F_V3F = 0x2A2C
+
+gl_T2F_C4UB_V3F :: GLenum
+gl_T2F_C4UB_V3F = 0x2A29
+
+gl_T2F_IUI_N3F_V2F_EXT :: GLenum
+gl_T2F_IUI_N3F_V2F_EXT = 0x81B3
+
+gl_T2F_IUI_N3F_V3F_EXT :: GLenum
+gl_T2F_IUI_N3F_V3F_EXT = 0x81B4
+
+gl_T2F_IUI_V2F_EXT :: GLenum
+gl_T2F_IUI_V2F_EXT = 0x81B1
+
+gl_T2F_IUI_V3F_EXT :: GLenum
+gl_T2F_IUI_V3F_EXT = 0x81B2
+
+gl_T2F_N3F_V3F :: GLenum
+gl_T2F_N3F_V3F = 0x2A2B
+
+gl_T2F_V3F :: GLenum
+gl_T2F_V3F = 0x2A27
+
+gl_T4F_C4F_N3F_V4F :: GLenum
+gl_T4F_C4F_N3F_V4F = 0x2A2D
+
+gl_T4F_V4F :: GLenum
+gl_T4F_V4F = 0x2A28
+
+gl_TABLE_TOO_LARGE :: GLenum
+gl_TABLE_TOO_LARGE = 0x8031
+
+gl_TABLE_TOO_LARGE_EXT :: GLenum
+gl_TABLE_TOO_LARGE_EXT = 0x8031
+
+gl_TANGENT_ARRAY_EXT :: GLenum
+gl_TANGENT_ARRAY_EXT = 0x8439
+
+gl_TANGENT_ARRAY_POINTER_EXT :: GLenum
+gl_TANGENT_ARRAY_POINTER_EXT = 0x8442
+
+gl_TANGENT_ARRAY_STRIDE_EXT :: GLenum
+gl_TANGENT_ARRAY_STRIDE_EXT = 0x843F
+
+gl_TANGENT_ARRAY_TYPE_EXT :: GLenum
+gl_TANGENT_ARRAY_TYPE_EXT = 0x843E
+
+gl_TESSELLATION_FACTOR_AMD :: GLenum
+gl_TESSELLATION_FACTOR_AMD = 0x9005
+
+gl_TESSELLATION_MODE_AMD :: GLenum
+gl_TESSELLATION_MODE_AMD = 0x9004
+
+gl_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
+gl_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75
+
+gl_TESS_CONTROL_OUTPUT_VERTICES_EXT :: GLenum
+gl_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75
+
+gl_TESS_CONTROL_OUTPUT_VERTICES_OES :: GLenum
+gl_TESS_CONTROL_OUTPUT_VERTICES_OES = 0x8E75
+
+gl_TESS_CONTROL_PROGRAM_NV :: GLenum
+gl_TESS_CONTROL_PROGRAM_NV = 0x891E
+
+gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
+gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74
+
+gl_TESS_CONTROL_SHADER :: GLenum
+gl_TESS_CONTROL_SHADER = 0x8E88
+
+gl_TESS_CONTROL_SHADER_BIT :: GLbitfield
+gl_TESS_CONTROL_SHADER_BIT = 0x00000008
+
+gl_TESS_CONTROL_SHADER_BIT_EXT :: GLbitfield
+gl_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008
+
+gl_TESS_CONTROL_SHADER_BIT_OES :: GLbitfield
+gl_TESS_CONTROL_SHADER_BIT_OES = 0x00000008
+
+gl_TESS_CONTROL_SHADER_EXT :: GLenum
+gl_TESS_CONTROL_SHADER_EXT = 0x8E88
+
+gl_TESS_CONTROL_SHADER_OES :: GLenum
+gl_TESS_CONTROL_SHADER_OES = 0x8E88
+
+gl_TESS_CONTROL_SHADER_PATCHES_ARB :: GLenum
+gl_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1
+
+gl_TESS_CONTROL_SUBROUTINE :: GLenum
+gl_TESS_CONTROL_SUBROUTINE = 0x92E9
+
+gl_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
+gl_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF
+
+gl_TESS_CONTROL_TEXTURE :: GLenum
+gl_TESS_CONTROL_TEXTURE = 0x829C
+
+gl_TESS_EVALUATION_PROGRAM_NV :: GLenum
+gl_TESS_EVALUATION_PROGRAM_NV = 0x891F
+
+gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
+gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75
+
+gl_TESS_EVALUATION_SHADER :: GLenum
+gl_TESS_EVALUATION_SHADER = 0x8E87
+
+gl_TESS_EVALUATION_SHADER_BIT :: GLbitfield
+gl_TESS_EVALUATION_SHADER_BIT = 0x00000010
+
+gl_TESS_EVALUATION_SHADER_BIT_EXT :: GLbitfield
+gl_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010
+
+gl_TESS_EVALUATION_SHADER_BIT_OES :: GLbitfield
+gl_TESS_EVALUATION_SHADER_BIT_OES = 0x00000010
+
+gl_TESS_EVALUATION_SHADER_EXT :: GLenum
+gl_TESS_EVALUATION_SHADER_EXT = 0x8E87
+
+gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARB :: GLenum
+gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2
+
+gl_TESS_EVALUATION_SHADER_OES :: GLenum
+gl_TESS_EVALUATION_SHADER_OES = 0x8E87
+
+gl_TESS_EVALUATION_SUBROUTINE :: GLenum
+gl_TESS_EVALUATION_SUBROUTINE = 0x92EA
+
+gl_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
+gl_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0
+
+gl_TESS_EVALUATION_TEXTURE :: GLenum
+gl_TESS_EVALUATION_TEXTURE = 0x829D
+
+gl_TESS_GEN_MODE :: GLenum
+gl_TESS_GEN_MODE = 0x8E76
+
+gl_TESS_GEN_MODE_EXT :: GLenum
+gl_TESS_GEN_MODE_EXT = 0x8E76
+
+gl_TESS_GEN_MODE_OES :: GLenum
+gl_TESS_GEN_MODE_OES = 0x8E76
+
+gl_TESS_GEN_POINT_MODE :: GLenum
+gl_TESS_GEN_POINT_MODE = 0x8E79
+
+gl_TESS_GEN_POINT_MODE_EXT :: GLenum
+gl_TESS_GEN_POINT_MODE_EXT = 0x8E79
+
+gl_TESS_GEN_POINT_MODE_OES :: GLenum
+gl_TESS_GEN_POINT_MODE_OES = 0x8E79
+
+gl_TESS_GEN_SPACING :: GLenum
+gl_TESS_GEN_SPACING = 0x8E77
+
+gl_TESS_GEN_SPACING_EXT :: GLenum
+gl_TESS_GEN_SPACING_EXT = 0x8E77
+
+gl_TESS_GEN_SPACING_OES :: GLenum
+gl_TESS_GEN_SPACING_OES = 0x8E77
+
+gl_TESS_GEN_VERTEX_ORDER :: GLenum
+gl_TESS_GEN_VERTEX_ORDER = 0x8E78
+
+gl_TESS_GEN_VERTEX_ORDER_EXT :: GLenum
+gl_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78
+
+gl_TESS_GEN_VERTEX_ORDER_OES :: GLenum
+gl_TESS_GEN_VERTEX_ORDER_OES = 0x8E78
+
+gl_TEXCOORD1_BIT_PGI :: GLbitfield
+gl_TEXCOORD1_BIT_PGI = 0x10000000
+
+gl_TEXCOORD2_BIT_PGI :: GLbitfield
+gl_TEXCOORD2_BIT_PGI = 0x20000000
+
+gl_TEXCOORD3_BIT_PGI :: GLbitfield
+gl_TEXCOORD3_BIT_PGI = 0x40000000
+
+gl_TEXCOORD4_BIT_PGI :: GLbitfield
+gl_TEXCOORD4_BIT_PGI = 0x80000000
+
+gl_TEXTURE :: GLenum
+gl_TEXTURE = 0x1702
+
+gl_TEXTURE0 :: GLenum
+gl_TEXTURE0 = 0x84C0
+
+gl_TEXTURE0_ARB :: GLenum
+gl_TEXTURE0_ARB = 0x84C0
+
+gl_TEXTURE1 :: GLenum
+gl_TEXTURE1 = 0x84C1
+
+gl_TEXTURE10 :: GLenum
+gl_TEXTURE10 = 0x84CA
+
+gl_TEXTURE10_ARB :: GLenum
+gl_TEXTURE10_ARB = 0x84CA
+
+gl_TEXTURE11 :: GLenum
+gl_TEXTURE11 = 0x84CB
+
+gl_TEXTURE11_ARB :: GLenum
+gl_TEXTURE11_ARB = 0x84CB
+
+gl_TEXTURE12 :: GLenum
+gl_TEXTURE12 = 0x84CC
+
+gl_TEXTURE12_ARB :: GLenum
+gl_TEXTURE12_ARB = 0x84CC
+
+gl_TEXTURE13 :: GLenum
+gl_TEXTURE13 = 0x84CD
+
+gl_TEXTURE13_ARB :: GLenum
+gl_TEXTURE13_ARB = 0x84CD
+
+gl_TEXTURE14 :: GLenum
+gl_TEXTURE14 = 0x84CE
+
+gl_TEXTURE14_ARB :: GLenum
+gl_TEXTURE14_ARB = 0x84CE
+
+gl_TEXTURE15 :: GLenum
+gl_TEXTURE15 = 0x84CF
+
+gl_TEXTURE15_ARB :: GLenum
+gl_TEXTURE15_ARB = 0x84CF
+
+gl_TEXTURE16 :: GLenum
+gl_TEXTURE16 = 0x84D0
+
+gl_TEXTURE16_ARB :: GLenum
+gl_TEXTURE16_ARB = 0x84D0
+
+gl_TEXTURE17 :: GLenum
+gl_TEXTURE17 = 0x84D1
+
+gl_TEXTURE17_ARB :: GLenum
+gl_TEXTURE17_ARB = 0x84D1
+
+gl_TEXTURE18 :: GLenum
+gl_TEXTURE18 = 0x84D2
+
+gl_TEXTURE18_ARB :: GLenum
+gl_TEXTURE18_ARB = 0x84D2
+
+gl_TEXTURE19 :: GLenum
+gl_TEXTURE19 = 0x84D3
+
+gl_TEXTURE19_ARB :: GLenum
+gl_TEXTURE19_ARB = 0x84D3
+
+gl_TEXTURE1_ARB :: GLenum
+gl_TEXTURE1_ARB = 0x84C1
+
+gl_TEXTURE2 :: GLenum
+gl_TEXTURE2 = 0x84C2
+
+gl_TEXTURE20 :: GLenum
+gl_TEXTURE20 = 0x84D4
+
+gl_TEXTURE20_ARB :: GLenum
+gl_TEXTURE20_ARB = 0x84D4
+
+gl_TEXTURE21 :: GLenum
+gl_TEXTURE21 = 0x84D5
+
+gl_TEXTURE21_ARB :: GLenum
+gl_TEXTURE21_ARB = 0x84D5
+
+gl_TEXTURE22 :: GLenum
+gl_TEXTURE22 = 0x84D6
+
+gl_TEXTURE22_ARB :: GLenum
+gl_TEXTURE22_ARB = 0x84D6
+
+gl_TEXTURE23 :: GLenum
+gl_TEXTURE23 = 0x84D7
+
+gl_TEXTURE23_ARB :: GLenum
+gl_TEXTURE23_ARB = 0x84D7
+
+gl_TEXTURE24 :: GLenum
+gl_TEXTURE24 = 0x84D8
+
+gl_TEXTURE24_ARB :: GLenum
+gl_TEXTURE24_ARB = 0x84D8
+
+gl_TEXTURE25 :: GLenum
+gl_TEXTURE25 = 0x84D9
+
+gl_TEXTURE25_ARB :: GLenum
+gl_TEXTURE25_ARB = 0x84D9
+
+gl_TEXTURE26 :: GLenum
+gl_TEXTURE26 = 0x84DA
+
+gl_TEXTURE26_ARB :: GLenum
+gl_TEXTURE26_ARB = 0x84DA
+
+gl_TEXTURE27 :: GLenum
+gl_TEXTURE27 = 0x84DB
+
+gl_TEXTURE27_ARB :: GLenum
+gl_TEXTURE27_ARB = 0x84DB
+
+gl_TEXTURE28 :: GLenum
+gl_TEXTURE28 = 0x84DC
+
+gl_TEXTURE28_ARB :: GLenum
+gl_TEXTURE28_ARB = 0x84DC
+
+gl_TEXTURE29 :: GLenum
+gl_TEXTURE29 = 0x84DD
+
+gl_TEXTURE29_ARB :: GLenum
+gl_TEXTURE29_ARB = 0x84DD
+
+gl_TEXTURE2_ARB :: GLenum
+gl_TEXTURE2_ARB = 0x84C2
+
+gl_TEXTURE3 :: GLenum
+gl_TEXTURE3 = 0x84C3
+
+gl_TEXTURE30 :: GLenum
+gl_TEXTURE30 = 0x84DE
+
+gl_TEXTURE30_ARB :: GLenum
+gl_TEXTURE30_ARB = 0x84DE
+
+gl_TEXTURE31 :: GLenum
+gl_TEXTURE31 = 0x84DF
+
+gl_TEXTURE31_ARB :: GLenum
+gl_TEXTURE31_ARB = 0x84DF
+
+gl_TEXTURE3_ARB :: GLenum
+gl_TEXTURE3_ARB = 0x84C3
+
+gl_TEXTURE4 :: GLenum
+gl_TEXTURE4 = 0x84C4
+
+gl_TEXTURE4_ARB :: GLenum
+gl_TEXTURE4_ARB = 0x84C4
+
+gl_TEXTURE5 :: GLenum
+gl_TEXTURE5 = 0x84C5
+
+gl_TEXTURE5_ARB :: GLenum
+gl_TEXTURE5_ARB = 0x84C5
+
+gl_TEXTURE6 :: GLenum
+gl_TEXTURE6 = 0x84C6
+
+gl_TEXTURE6_ARB :: GLenum
+gl_TEXTURE6_ARB = 0x84C6
+
+gl_TEXTURE7 :: GLenum
+gl_TEXTURE7 = 0x84C7
+
+gl_TEXTURE7_ARB :: GLenum
+gl_TEXTURE7_ARB = 0x84C7
+
+gl_TEXTURE8 :: GLenum
+gl_TEXTURE8 = 0x84C8
+
+gl_TEXTURE8_ARB :: GLenum
+gl_TEXTURE8_ARB = 0x84C8
+
+gl_TEXTURE9 :: GLenum
+gl_TEXTURE9 = 0x84C9
+
+gl_TEXTURE9_ARB :: GLenum
+gl_TEXTURE9_ARB = 0x84C9
+
+gl_TEXTURE_1D :: GLenum
+gl_TEXTURE_1D = 0x0DE0
+
+gl_TEXTURE_1D_ARRAY :: GLenum
+gl_TEXTURE_1D_ARRAY = 0x8C18
+
+gl_TEXTURE_1D_ARRAY_EXT :: GLenum
+gl_TEXTURE_1D_ARRAY_EXT = 0x8C18
+
+gl_TEXTURE_1D_BINDING_EXT :: GLenum
+gl_TEXTURE_1D_BINDING_EXT = 0x8068
+
+gl_TEXTURE_1D_STACK_BINDING_MESAX :: GLenum
+gl_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D
+
+gl_TEXTURE_1D_STACK_MESAX :: GLenum
+gl_TEXTURE_1D_STACK_MESAX = 0x8759
+
+gl_TEXTURE_2D :: GLenum
+gl_TEXTURE_2D = 0x0DE1
+
+gl_TEXTURE_2D_ARRAY :: GLenum
+gl_TEXTURE_2D_ARRAY = 0x8C1A
+
+gl_TEXTURE_2D_ARRAY_EXT :: GLenum
+gl_TEXTURE_2D_ARRAY_EXT = 0x8C1A
+
+gl_TEXTURE_2D_BINDING_EXT :: GLenum
+gl_TEXTURE_2D_BINDING_EXT = 0x8069
+
+gl_TEXTURE_2D_MULTISAMPLE :: GLenum
+gl_TEXTURE_2D_MULTISAMPLE = 0x9100
+
+gl_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102
+
+gl_TEXTURE_2D_MULTISAMPLE_ARRAY_OES :: GLenum
+gl_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102
+
+gl_TEXTURE_2D_STACK_BINDING_MESAX :: GLenum
+gl_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E
+
+gl_TEXTURE_2D_STACK_MESAX :: GLenum
+gl_TEXTURE_2D_STACK_MESAX = 0x875A
+
+gl_TEXTURE_3D :: GLenum
+gl_TEXTURE_3D = 0x806F
+
+gl_TEXTURE_3D_BINDING_EXT :: GLenum
+gl_TEXTURE_3D_BINDING_EXT = 0x806A
+
+gl_TEXTURE_3D_BINDING_OES :: GLenum
+gl_TEXTURE_3D_BINDING_OES = 0x806A
+
+gl_TEXTURE_3D_EXT :: GLenum
+gl_TEXTURE_3D_EXT = 0x806F
+
+gl_TEXTURE_3D_OES :: GLenum
+gl_TEXTURE_3D_OES = 0x806F
+
+gl_TEXTURE_4DSIZE_SGIS :: GLenum
+gl_TEXTURE_4DSIZE_SGIS = 0x8136
+
+gl_TEXTURE_4D_BINDING_SGIS :: GLenum
+gl_TEXTURE_4D_BINDING_SGIS = 0x814F
+
+gl_TEXTURE_4D_SGIS :: GLenum
+gl_TEXTURE_4D_SGIS = 0x8134
+
+gl_TEXTURE_ALPHA_MODULATE_IMG :: GLenum
+gl_TEXTURE_ALPHA_MODULATE_IMG = 0x8C06
+
+gl_TEXTURE_ALPHA_SIZE :: GLenum
+gl_TEXTURE_ALPHA_SIZE = 0x805F
+
+gl_TEXTURE_ALPHA_SIZE_EXT :: GLenum
+gl_TEXTURE_ALPHA_SIZE_EXT = 0x805F
+
+gl_TEXTURE_ALPHA_TYPE :: GLenum
+gl_TEXTURE_ALPHA_TYPE = 0x8C13
+
+gl_TEXTURE_ALPHA_TYPE_ARB :: GLenum
+gl_TEXTURE_ALPHA_TYPE_ARB = 0x8C13
+
+gl_TEXTURE_APPLICATION_MODE_EXT :: GLenum
+gl_TEXTURE_APPLICATION_MODE_EXT = 0x834F
+
+gl_TEXTURE_BASE_LEVEL :: GLenum
+gl_TEXTURE_BASE_LEVEL = 0x813C
+
+gl_TEXTURE_BASE_LEVEL_SGIS :: GLenum
+gl_TEXTURE_BASE_LEVEL_SGIS = 0x813C
+
+gl_TEXTURE_BINDING_1D :: GLenum
+gl_TEXTURE_BINDING_1D = 0x8068
+
+gl_TEXTURE_BINDING_1D_ARRAY :: GLenum
+gl_TEXTURE_BINDING_1D_ARRAY = 0x8C1C
+
+gl_TEXTURE_BINDING_1D_ARRAY_EXT :: GLenum
+gl_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C
+
+gl_TEXTURE_BINDING_2D :: GLenum
+gl_TEXTURE_BINDING_2D = 0x8069
+
+gl_TEXTURE_BINDING_2D_ARRAY :: GLenum
+gl_TEXTURE_BINDING_2D_ARRAY = 0x8C1D
+
+gl_TEXTURE_BINDING_2D_ARRAY_EXT :: GLenum
+gl_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D
+
+gl_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
+gl_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104
+
+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105
+
+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES :: GLenum
+gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105
+
+gl_TEXTURE_BINDING_3D :: GLenum
+gl_TEXTURE_BINDING_3D = 0x806A
+
+gl_TEXTURE_BINDING_3D_OES :: GLenum
+gl_TEXTURE_BINDING_3D_OES = 0x806A
+
+gl_TEXTURE_BINDING_BUFFER :: GLenum
+gl_TEXTURE_BINDING_BUFFER = 0x8C2C
+
+gl_TEXTURE_BINDING_BUFFER_ARB :: GLenum
+gl_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C
+
+gl_TEXTURE_BINDING_BUFFER_EXT :: GLenum
+gl_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C
+
+gl_TEXTURE_BINDING_BUFFER_OES :: GLenum
+gl_TEXTURE_BINDING_BUFFER_OES = 0x8C2C
+
+gl_TEXTURE_BINDING_CUBE_MAP :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP = 0x8514
+
+gl_TEXTURE_BINDING_CUBE_MAP_ARB :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514
+
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A
+
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A
+
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A
+
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = 0x900A
+
+gl_TEXTURE_BINDING_CUBE_MAP_EXT :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514
+
+gl_TEXTURE_BINDING_CUBE_MAP_OES :: GLenum
+gl_TEXTURE_BINDING_CUBE_MAP_OES = 0x8514
+
+gl_TEXTURE_BINDING_EXTERNAL_OES :: GLenum
+gl_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67
+
+gl_TEXTURE_BINDING_RECTANGLE :: GLenum
+gl_TEXTURE_BINDING_RECTANGLE = 0x84F6
+
+gl_TEXTURE_BINDING_RECTANGLE_ARB :: GLenum
+gl_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6
+
+gl_TEXTURE_BINDING_RECTANGLE_NV :: GLenum
+gl_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6
+
+gl_TEXTURE_BINDING_RENDERBUFFER_NV :: GLenum
+gl_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53
+
+gl_TEXTURE_BIT :: GLbitfield
+gl_TEXTURE_BIT = 0x00040000
+
+gl_TEXTURE_BLUE_SIZE :: GLenum
+gl_TEXTURE_BLUE_SIZE = 0x805E
+
+gl_TEXTURE_BLUE_SIZE_EXT :: GLenum
+gl_TEXTURE_BLUE_SIZE_EXT = 0x805E
+
+gl_TEXTURE_BLUE_TYPE :: GLenum
+gl_TEXTURE_BLUE_TYPE = 0x8C12
+
+gl_TEXTURE_BLUE_TYPE_ARB :: GLenum
+gl_TEXTURE_BLUE_TYPE_ARB = 0x8C12
+
+gl_TEXTURE_BORDER :: GLenum
+gl_TEXTURE_BORDER = 0x1005
+
+gl_TEXTURE_BORDER_COLOR :: GLenum
+gl_TEXTURE_BORDER_COLOR = 0x1004
+
+gl_TEXTURE_BORDER_COLOR_EXT :: GLenum
+gl_TEXTURE_BORDER_COLOR_EXT = 0x1004
+
+gl_TEXTURE_BORDER_COLOR_NV :: GLenum
+gl_TEXTURE_BORDER_COLOR_NV = 0x1004
+
+gl_TEXTURE_BORDER_COLOR_OES :: GLenum
+gl_TEXTURE_BORDER_COLOR_OES = 0x1004
+
+gl_TEXTURE_BORDER_VALUES_NV :: GLenum
+gl_TEXTURE_BORDER_VALUES_NV = 0x871A
+
+gl_TEXTURE_BUFFER :: GLenum
+gl_TEXTURE_BUFFER = 0x8C2A
+
+gl_TEXTURE_BUFFER_ARB :: GLenum
+gl_TEXTURE_BUFFER_ARB = 0x8C2A
+
+gl_TEXTURE_BUFFER_BINDING :: GLenum
+gl_TEXTURE_BUFFER_BINDING = 0x8C2A
+
+gl_TEXTURE_BUFFER_BINDING_EXT :: GLenum
+gl_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A
+
+gl_TEXTURE_BUFFER_BINDING_OES :: GLenum
+gl_TEXTURE_BUFFER_BINDING_OES = 0x8C2A
+
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D
+
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB :: GLenum
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D
+
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: GLenum
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D
+
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING_OES :: GLenum
+gl_TEXTURE_BUFFER_DATA_STORE_BINDING_OES = 0x8C2D
+
+gl_TEXTURE_BUFFER_EXT :: GLenum
+gl_TEXTURE_BUFFER_EXT = 0x8C2A
+
+gl_TEXTURE_BUFFER_FORMAT_ARB :: GLenum
+gl_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E
+
+gl_TEXTURE_BUFFER_FORMAT_EXT :: GLenum
+gl_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E
+
+gl_TEXTURE_BUFFER_OES :: GLenum
+gl_TEXTURE_BUFFER_OES = 0x8C2A
+
+gl_TEXTURE_BUFFER_OFFSET :: GLenum
+gl_TEXTURE_BUFFER_OFFSET = 0x919D
+
+gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
+gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F
+
+gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT :: GLenum
+gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F
+
+gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES :: GLenum
+gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES = 0x919F
+
+gl_TEXTURE_BUFFER_OFFSET_EXT :: GLenum
+gl_TEXTURE_BUFFER_OFFSET_EXT = 0x919D
+
+gl_TEXTURE_BUFFER_OFFSET_OES :: GLenum
+gl_TEXTURE_BUFFER_OFFSET_OES = 0x919D
+
+gl_TEXTURE_BUFFER_SIZE :: GLenum
+gl_TEXTURE_BUFFER_SIZE = 0x919E
+
+gl_TEXTURE_BUFFER_SIZE_EXT :: GLenum
+gl_TEXTURE_BUFFER_SIZE_EXT = 0x919E
+
+gl_TEXTURE_BUFFER_SIZE_OES :: GLenum
+gl_TEXTURE_BUFFER_SIZE_OES = 0x919E
+
+gl_TEXTURE_CLIPMAP_CENTER_SGIX :: GLenum
+gl_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171
+
+gl_TEXTURE_CLIPMAP_DEPTH_SGIX :: GLenum
+gl_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176
+
+gl_TEXTURE_CLIPMAP_FRAME_SGIX :: GLenum
+gl_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172
+
+gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX :: GLenum
+gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175
+
+gl_TEXTURE_CLIPMAP_OFFSET_SGIX :: GLenum
+gl_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173
+
+gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
+gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174
+
+gl_TEXTURE_COLOR_SAMPLES_NV :: GLenum
+gl_TEXTURE_COLOR_SAMPLES_NV = 0x9046
+
+gl_TEXTURE_COLOR_TABLE_SGI :: GLenum
+gl_TEXTURE_COLOR_TABLE_SGI = 0x80BC
+
+gl_TEXTURE_COLOR_WRITEMASK_SGIS :: GLenum
+gl_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF
+
+gl_TEXTURE_COMPARE_FAIL_VALUE_ARB :: GLenum
+gl_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF
+
+gl_TEXTURE_COMPARE_FUNC :: GLenum
+gl_TEXTURE_COMPARE_FUNC = 0x884D
+
+gl_TEXTURE_COMPARE_FUNC_ARB :: GLenum
+gl_TEXTURE_COMPARE_FUNC_ARB = 0x884D
+
+gl_TEXTURE_COMPARE_FUNC_EXT :: GLenum
+gl_TEXTURE_COMPARE_FUNC_EXT = 0x884D
+
+gl_TEXTURE_COMPARE_MODE :: GLenum
+gl_TEXTURE_COMPARE_MODE = 0x884C
+
+gl_TEXTURE_COMPARE_MODE_ARB :: GLenum
+gl_TEXTURE_COMPARE_MODE_ARB = 0x884C
+
+gl_TEXTURE_COMPARE_MODE_EXT :: GLenum
+gl_TEXTURE_COMPARE_MODE_EXT = 0x884C
+
+gl_TEXTURE_COMPARE_OPERATOR_SGIX :: GLenum
+gl_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B
+
+gl_TEXTURE_COMPARE_SGIX :: GLenum
+gl_TEXTURE_COMPARE_SGIX = 0x819A
+
+gl_TEXTURE_COMPONENTS :: GLenum
+gl_TEXTURE_COMPONENTS = 0x1003
+
+gl_TEXTURE_COMPRESSED :: GLenum
+gl_TEXTURE_COMPRESSED = 0x86A1
+
+gl_TEXTURE_COMPRESSED_ARB :: GLenum
+gl_TEXTURE_COMPRESSED_ARB = 0x86A1
+
+gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
+gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2
+
+gl_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
+gl_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3
+
+gl_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
+gl_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1
+
+gl_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
+gl_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0
+
+gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB :: GLenum
+gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0
+
+gl_TEXTURE_COMPRESSION_HINT :: GLenum
+gl_TEXTURE_COMPRESSION_HINT = 0x84EF
+
+gl_TEXTURE_COMPRESSION_HINT_ARB :: GLenum
+gl_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF
+
+gl_TEXTURE_CONSTANT_DATA_SUNX :: GLenum
+gl_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6
+
+gl_TEXTURE_COORD_ARRAY :: GLenum
+gl_TEXTURE_COORD_ARRAY = 0x8078
+
+gl_TEXTURE_COORD_ARRAY_ADDRESS_NV :: GLenum
+gl_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25
+
+gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
+gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A
+
+gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A
+
+gl_TEXTURE_COORD_ARRAY_COUNT_EXT :: GLenum
+gl_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B
+
+gl_TEXTURE_COORD_ARRAY_EXT :: GLenum
+gl_TEXTURE_COORD_ARRAY_EXT = 0x8078
+
+gl_TEXTURE_COORD_ARRAY_LENGTH_NV :: GLenum
+gl_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F
+
+gl_TEXTURE_COORD_ARRAY_LIST_IBM :: GLenum
+gl_TEXTURE_COORD_ARRAY_LIST_IBM = 103074
+
+gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084
+
+gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
+gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8
+
+gl_TEXTURE_COORD_ARRAY_POINTER :: GLenum
+gl_TEXTURE_COORD_ARRAY_POINTER = 0x8092
+
+gl_TEXTURE_COORD_ARRAY_POINTER_EXT :: GLenum
+gl_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092
+
+gl_TEXTURE_COORD_ARRAY_SIZE :: GLenum
+gl_TEXTURE_COORD_ARRAY_SIZE = 0x8088
+
+gl_TEXTURE_COORD_ARRAY_SIZE_EXT :: GLenum
+gl_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088
+
+gl_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
+gl_TEXTURE_COORD_ARRAY_STRIDE = 0x808A
+
+gl_TEXTURE_COORD_ARRAY_STRIDE_EXT :: GLenum
+gl_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A
+
+gl_TEXTURE_COORD_ARRAY_TYPE :: GLenum
+gl_TEXTURE_COORD_ARRAY_TYPE = 0x8089
+
+gl_TEXTURE_COORD_ARRAY_TYPE_EXT :: GLenum
+gl_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089
+
+gl_TEXTURE_COORD_NV :: GLenum
+gl_TEXTURE_COORD_NV = 0x8C79
+
+gl_TEXTURE_COVERAGE_SAMPLES_NV :: GLenum
+gl_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045
+
+gl_TEXTURE_CROP_RECT_OES :: GLenum
+gl_TEXTURE_CROP_RECT_OES = 0x8B9D
+
+gl_TEXTURE_CUBE_MAP :: GLenum
+gl_TEXTURE_CUBE_MAP = 0x8513
+
+gl_TEXTURE_CUBE_MAP_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_ARB = 0x8513
+
+gl_TEXTURE_CUBE_MAP_ARRAY :: GLenum
+gl_TEXTURE_CUBE_MAP_ARRAY = 0x9009
+
+gl_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009
+
+gl_TEXTURE_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009
+
+gl_TEXTURE_CUBE_MAP_ARRAY_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009
+
+gl_TEXTURE_CUBE_MAP_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_EXT = 0x8513
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A
+
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A
+
+gl_TEXTURE_CUBE_MAP_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_OES = 0x8513
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_X_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519
+
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z_OES :: GLenum
+gl_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519
+
+gl_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
+gl_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F
+
+gl_TEXTURE_DEFORMATION_BIT_SGIX :: GLbitfield
+gl_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001
+
+gl_TEXTURE_DEFORMATION_SGIX :: GLenum
+gl_TEXTURE_DEFORMATION_SGIX = 0x8195
+
+gl_TEXTURE_DEPTH :: GLenum
+gl_TEXTURE_DEPTH = 0x8071
+
+gl_TEXTURE_DEPTH_EXT :: GLenum
+gl_TEXTURE_DEPTH_EXT = 0x8071
+
+gl_TEXTURE_DEPTH_QCOM :: GLenum
+gl_TEXTURE_DEPTH_QCOM = 0x8BD4
+
+gl_TEXTURE_DEPTH_SIZE :: GLenum
+gl_TEXTURE_DEPTH_SIZE = 0x884A
+
+gl_TEXTURE_DEPTH_SIZE_ARB :: GLenum
+gl_TEXTURE_DEPTH_SIZE_ARB = 0x884A
+
+gl_TEXTURE_DEPTH_TYPE :: GLenum
+gl_TEXTURE_DEPTH_TYPE = 0x8C16
+
+gl_TEXTURE_DEPTH_TYPE_ARB :: GLenum
+gl_TEXTURE_DEPTH_TYPE_ARB = 0x8C16
+
+gl_TEXTURE_DS_SIZE_NV :: GLenum
+gl_TEXTURE_DS_SIZE_NV = 0x871D
+
+gl_TEXTURE_DT_SIZE_NV :: GLenum
+gl_TEXTURE_DT_SIZE_NV = 0x871E
+
+gl_TEXTURE_ENV :: GLenum
+gl_TEXTURE_ENV = 0x2300
+
+gl_TEXTURE_ENV_BIAS_SGIX :: GLenum
+gl_TEXTURE_ENV_BIAS_SGIX = 0x80BE
+
+gl_TEXTURE_ENV_COLOR :: GLenum
+gl_TEXTURE_ENV_COLOR = 0x2201
+
+gl_TEXTURE_ENV_MODE :: GLenum
+gl_TEXTURE_ENV_MODE = 0x2200
+
+gl_TEXTURE_EXTERNAL_OES :: GLenum
+gl_TEXTURE_EXTERNAL_OES = 0x8D65
+
+gl_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
+gl_TEXTURE_FETCH_BARRIER_BIT = 0x00000008
+
+gl_TEXTURE_FETCH_BARRIER_BIT_EXT :: GLbitfield
+gl_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008
+
+gl_TEXTURE_FILTER4_SIZE_SGIS :: GLenum
+gl_TEXTURE_FILTER4_SIZE_SGIS = 0x8147
+
+gl_TEXTURE_FILTER_CONTROL :: GLenum
+gl_TEXTURE_FILTER_CONTROL = 0x8500
+
+gl_TEXTURE_FILTER_CONTROL_EXT :: GLenum
+gl_TEXTURE_FILTER_CONTROL_EXT = 0x8500
+
+gl_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
+gl_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107
+
+gl_TEXTURE_FLOAT_COMPONENTS_NV :: GLenum
+gl_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C
+
+gl_TEXTURE_FORMAT_QCOM :: GLenum
+gl_TEXTURE_FORMAT_QCOM = 0x8BD6
+
+gl_TEXTURE_FREE_MEMORY_ATI :: GLenum
+gl_TEXTURE_FREE_MEMORY_ATI = 0x87FC
+
+gl_TEXTURE_GATHER :: GLenum
+gl_TEXTURE_GATHER = 0x82A2
+
+gl_TEXTURE_GATHER_SHADOW :: GLenum
+gl_TEXTURE_GATHER_SHADOW = 0x82A3
+
+gl_TEXTURE_GEN_MODE :: GLenum
+gl_TEXTURE_GEN_MODE = 0x2500
+
+gl_TEXTURE_GEN_MODE_OES :: GLenum
+gl_TEXTURE_GEN_MODE_OES = 0x2500
+
+gl_TEXTURE_GEN_Q :: GLenum
+gl_TEXTURE_GEN_Q = 0x0C63
+
+gl_TEXTURE_GEN_R :: GLenum
+gl_TEXTURE_GEN_R = 0x0C62
+
+gl_TEXTURE_GEN_S :: GLenum
+gl_TEXTURE_GEN_S = 0x0C60
+
+gl_TEXTURE_GEN_STR_OES :: GLenum
+gl_TEXTURE_GEN_STR_OES = 0x8D60
+
+gl_TEXTURE_GEN_T :: GLenum
+gl_TEXTURE_GEN_T = 0x0C61
+
+gl_TEXTURE_GEQUAL_R_SGIX :: GLenum
+gl_TEXTURE_GEQUAL_R_SGIX = 0x819D
+
+gl_TEXTURE_GREEN_SIZE :: GLenum
+gl_TEXTURE_GREEN_SIZE = 0x805D
+
+gl_TEXTURE_GREEN_SIZE_EXT :: GLenum
+gl_TEXTURE_GREEN_SIZE_EXT = 0x805D
+
+gl_TEXTURE_GREEN_TYPE :: GLenum
+gl_TEXTURE_GREEN_TYPE = 0x8C11
+
+gl_TEXTURE_GREEN_TYPE_ARB :: GLenum
+gl_TEXTURE_GREEN_TYPE_ARB = 0x8C11
+
+gl_TEXTURE_HEIGHT :: GLenum
+gl_TEXTURE_HEIGHT = 0x1001
+
+gl_TEXTURE_HEIGHT_QCOM :: GLenum
+gl_TEXTURE_HEIGHT_QCOM = 0x8BD3
+
+gl_TEXTURE_HI_SIZE_NV :: GLenum
+gl_TEXTURE_HI_SIZE_NV = 0x871B
+
+gl_TEXTURE_IMAGE_FORMAT :: GLenum
+gl_TEXTURE_IMAGE_FORMAT = 0x828F
+
+gl_TEXTURE_IMAGE_TYPE :: GLenum
+gl_TEXTURE_IMAGE_TYPE = 0x8290
+
+gl_TEXTURE_IMAGE_VALID_QCOM :: GLenum
+gl_TEXTURE_IMAGE_VALID_QCOM = 0x8BD8
+
+gl_TEXTURE_IMMUTABLE_FORMAT :: GLenum
+gl_TEXTURE_IMMUTABLE_FORMAT = 0x912F
+
+gl_TEXTURE_IMMUTABLE_FORMAT_EXT :: GLenum
+gl_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F
+
+gl_TEXTURE_IMMUTABLE_LEVELS :: GLenum
+gl_TEXTURE_IMMUTABLE_LEVELS = 0x82DF
+
+gl_TEXTURE_INDEX_SIZE_EXT :: GLenum
+gl_TEXTURE_INDEX_SIZE_EXT = 0x80ED
+
+gl_TEXTURE_INTENSITY_SIZE :: GLenum
+gl_TEXTURE_INTENSITY_SIZE = 0x8061
+
+gl_TEXTURE_INTENSITY_SIZE_EXT :: GLenum
+gl_TEXTURE_INTENSITY_SIZE_EXT = 0x8061
+
+gl_TEXTURE_INTENSITY_TYPE :: GLenum
+gl_TEXTURE_INTENSITY_TYPE = 0x8C15
+
+gl_TEXTURE_INTENSITY_TYPE_ARB :: GLenum
+gl_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15
+
+gl_TEXTURE_INTERNAL_FORMAT :: GLenum
+gl_TEXTURE_INTERNAL_FORMAT = 0x1003
+
+gl_TEXTURE_INTERNAL_FORMAT_QCOM :: GLenum
+gl_TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5
+
+gl_TEXTURE_LEQUAL_R_SGIX :: GLenum
+gl_TEXTURE_LEQUAL_R_SGIX = 0x819C
+
+gl_TEXTURE_LIGHTING_MODE_HP :: GLenum
+gl_TEXTURE_LIGHTING_MODE_HP = 0x8167
+
+gl_TEXTURE_LIGHT_EXT :: GLenum
+gl_TEXTURE_LIGHT_EXT = 0x8350
+
+gl_TEXTURE_LOD_BIAS :: GLenum
+gl_TEXTURE_LOD_BIAS = 0x8501
+
+gl_TEXTURE_LOD_BIAS_EXT :: GLenum
+gl_TEXTURE_LOD_BIAS_EXT = 0x8501
+
+gl_TEXTURE_LOD_BIAS_R_SGIX :: GLenum
+gl_TEXTURE_LOD_BIAS_R_SGIX = 0x8190
+
+gl_TEXTURE_LOD_BIAS_S_SGIX :: GLenum
+gl_TEXTURE_LOD_BIAS_S_SGIX = 0x818E
+
+gl_TEXTURE_LOD_BIAS_T_SGIX :: GLenum
+gl_TEXTURE_LOD_BIAS_T_SGIX = 0x818F
+
+gl_TEXTURE_LO_SIZE_NV :: GLenum
+gl_TEXTURE_LO_SIZE_NV = 0x871C
+
+gl_TEXTURE_LUMINANCE_SIZE :: GLenum
+gl_TEXTURE_LUMINANCE_SIZE = 0x8060
+
+gl_TEXTURE_LUMINANCE_SIZE_EXT :: GLenum
+gl_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060
+
+gl_TEXTURE_LUMINANCE_TYPE :: GLenum
+gl_TEXTURE_LUMINANCE_TYPE = 0x8C14
+
+gl_TEXTURE_LUMINANCE_TYPE_ARB :: GLenum
+gl_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14
+
+gl_TEXTURE_MAG_FILTER :: GLenum
+gl_TEXTURE_MAG_FILTER = 0x2800
+
+gl_TEXTURE_MAG_SIZE_NV :: GLenum
+gl_TEXTURE_MAG_SIZE_NV = 0x871F
+
+gl_TEXTURE_MATERIAL_FACE_EXT :: GLenum
+gl_TEXTURE_MATERIAL_FACE_EXT = 0x8351
+
+gl_TEXTURE_MATERIAL_PARAMETER_EXT :: GLenum
+gl_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352
+
+gl_TEXTURE_MATRIX :: GLenum
+gl_TEXTURE_MATRIX = 0x0BA8
+
+gl_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
+gl_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F
+
+gl_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
+gl_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE
+
+gl_TEXTURE_MAX_CLAMP_R_SGIX :: GLenum
+gl_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B
+
+gl_TEXTURE_MAX_CLAMP_S_SGIX :: GLenum
+gl_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369
+
+gl_TEXTURE_MAX_CLAMP_T_SGIX :: GLenum
+gl_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A
+
+gl_TEXTURE_MAX_LEVEL :: GLenum
+gl_TEXTURE_MAX_LEVEL = 0x813D
+
+gl_TEXTURE_MAX_LEVEL_APPLE :: GLenum
+gl_TEXTURE_MAX_LEVEL_APPLE = 0x813D
+
+gl_TEXTURE_MAX_LEVEL_SGIS :: GLenum
+gl_TEXTURE_MAX_LEVEL_SGIS = 0x813D
+
+gl_TEXTURE_MAX_LOD :: GLenum
+gl_TEXTURE_MAX_LOD = 0x813B
+
+gl_TEXTURE_MAX_LOD_SGIS :: GLenum
+gl_TEXTURE_MAX_LOD_SGIS = 0x813B
+
+gl_TEXTURE_MEMORY_LAYOUT_INTEL :: GLenum
+gl_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF
+
+gl_TEXTURE_MIN_FILTER :: GLenum
+gl_TEXTURE_MIN_FILTER = 0x2801
+
+gl_TEXTURE_MIN_LOD :: GLenum
+gl_TEXTURE_MIN_LOD = 0x813A
+
+gl_TEXTURE_MIN_LOD_SGIS :: GLenum
+gl_TEXTURE_MIN_LOD_SGIS = 0x813A
+
+gl_TEXTURE_MULTI_BUFFER_HINT_SGIX :: GLenum
+gl_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E
+
+gl_TEXTURE_NORMAL_EXT :: GLenum
+gl_TEXTURE_NORMAL_EXT = 0x85AF
+
+gl_TEXTURE_NUM_LEVELS_QCOM :: GLenum
+gl_TEXTURE_NUM_LEVELS_QCOM = 0x8BD9
+
+gl_TEXTURE_OBJECT_VALID_QCOM :: GLenum
+gl_TEXTURE_OBJECT_VALID_QCOM = 0x8BDB
+
+gl_TEXTURE_POST_SPECULAR_HP :: GLenum
+gl_TEXTURE_POST_SPECULAR_HP = 0x8168
+
+gl_TEXTURE_PRE_SPECULAR_HP :: GLenum
+gl_TEXTURE_PRE_SPECULAR_HP = 0x8169
+
+gl_TEXTURE_PRIORITY :: GLenum
+gl_TEXTURE_PRIORITY = 0x8066
+
+gl_TEXTURE_PRIORITY_EXT :: GLenum
+gl_TEXTURE_PRIORITY_EXT = 0x8066
+
+gl_TEXTURE_RANGE_LENGTH_APPLE :: GLenum
+gl_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7
+
+gl_TEXTURE_RANGE_POINTER_APPLE :: GLenum
+gl_TEXTURE_RANGE_POINTER_APPLE = 0x85B8
+
+gl_TEXTURE_RECTANGLE :: GLenum
+gl_TEXTURE_RECTANGLE = 0x84F5
+
+gl_TEXTURE_RECTANGLE_ARB :: GLenum
+gl_TEXTURE_RECTANGLE_ARB = 0x84F5
+
+gl_TEXTURE_RECTANGLE_NV :: GLenum
+gl_TEXTURE_RECTANGLE_NV = 0x84F5
+
+gl_TEXTURE_RED_SIZE :: GLenum
+gl_TEXTURE_RED_SIZE = 0x805C
+
+gl_TEXTURE_RED_SIZE_EXT :: GLenum
+gl_TEXTURE_RED_SIZE_EXT = 0x805C
+
+gl_TEXTURE_RED_TYPE :: GLenum
+gl_TEXTURE_RED_TYPE = 0x8C10
+
+gl_TEXTURE_RED_TYPE_ARB :: GLenum
+gl_TEXTURE_RED_TYPE_ARB = 0x8C10
+
+gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV :: GLenum
+gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54
+
+gl_TEXTURE_RENDERBUFFER_NV :: GLenum
+gl_TEXTURE_RENDERBUFFER_NV = 0x8E55
+
+gl_TEXTURE_RESIDENT :: GLenum
+gl_TEXTURE_RESIDENT = 0x8067
+
+gl_TEXTURE_RESIDENT_EXT :: GLenum
+gl_TEXTURE_RESIDENT_EXT = 0x8067
+
+gl_TEXTURE_SAMPLES :: GLenum
+gl_TEXTURE_SAMPLES = 0x9106
+
+gl_TEXTURE_SAMPLES_IMG :: GLenum
+gl_TEXTURE_SAMPLES_IMG = 0x9136
+
+gl_TEXTURE_SHADER_NV :: GLenum
+gl_TEXTURE_SHADER_NV = 0x86DE
+
+gl_TEXTURE_SHADOW :: GLenum
+gl_TEXTURE_SHADOW = 0x82A1
+
+gl_TEXTURE_SHARED_SIZE :: GLenum
+gl_TEXTURE_SHARED_SIZE = 0x8C3F
+
+gl_TEXTURE_SHARED_SIZE_EXT :: GLenum
+gl_TEXTURE_SHARED_SIZE_EXT = 0x8C3F
+
+gl_TEXTURE_SPARSE_ARB :: GLenum
+gl_TEXTURE_SPARSE_ARB = 0x91A6
+
+gl_TEXTURE_SRGB_DECODE_EXT :: GLenum
+gl_TEXTURE_SRGB_DECODE_EXT = 0x8A48
+
+gl_TEXTURE_STACK_DEPTH :: GLenum
+gl_TEXTURE_STACK_DEPTH = 0x0BA5
+
+gl_TEXTURE_STENCIL_SIZE :: GLenum
+gl_TEXTURE_STENCIL_SIZE = 0x88F1
+
+gl_TEXTURE_STENCIL_SIZE_EXT :: GLenum
+gl_TEXTURE_STENCIL_SIZE_EXT = 0x88F1
+
+gl_TEXTURE_STORAGE_HINT_APPLE :: GLenum
+gl_TEXTURE_STORAGE_HINT_APPLE = 0x85BC
+
+gl_TEXTURE_STORAGE_SPARSE_BIT_AMD :: GLbitfield
+gl_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001
+
+gl_TEXTURE_SWIZZLE_A :: GLenum
+gl_TEXTURE_SWIZZLE_A = 0x8E45
+
+gl_TEXTURE_SWIZZLE_A_EXT :: GLenum
+gl_TEXTURE_SWIZZLE_A_EXT = 0x8E45
+
+gl_TEXTURE_SWIZZLE_B :: GLenum
+gl_TEXTURE_SWIZZLE_B = 0x8E44
+
+gl_TEXTURE_SWIZZLE_B_EXT :: GLenum
+gl_TEXTURE_SWIZZLE_B_EXT = 0x8E44
+
+gl_TEXTURE_SWIZZLE_G :: GLenum
+gl_TEXTURE_SWIZZLE_G = 0x8E43
+
+gl_TEXTURE_SWIZZLE_G_EXT :: GLenum
+gl_TEXTURE_SWIZZLE_G_EXT = 0x8E43
+
+gl_TEXTURE_SWIZZLE_R :: GLenum
+gl_TEXTURE_SWIZZLE_R = 0x8E42
+
+gl_TEXTURE_SWIZZLE_RGBA :: GLenum
+gl_TEXTURE_SWIZZLE_RGBA = 0x8E46
+
+gl_TEXTURE_SWIZZLE_RGBA_EXT :: GLenum
+gl_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46
+
+gl_TEXTURE_SWIZZLE_R_EXT :: GLenum
+gl_TEXTURE_SWIZZLE_R_EXT = 0x8E42
+
+gl_TEXTURE_TARGET :: GLenum
+gl_TEXTURE_TARGET = 0x1006
+
+gl_TEXTURE_TARGET_QCOM :: GLenum
+gl_TEXTURE_TARGET_QCOM = 0x8BDA
+
+gl_TEXTURE_TOO_LARGE_EXT :: GLenum
+gl_TEXTURE_TOO_LARGE_EXT = 0x8065
+
+gl_TEXTURE_TYPE_QCOM :: GLenum
+gl_TEXTURE_TYPE_QCOM = 0x8BD7
+
+gl_TEXTURE_UNSIGNED_REMAP_MODE_NV :: GLenum
+gl_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F
+
+gl_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
+gl_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100
+
+gl_TEXTURE_UPDATE_BARRIER_BIT_EXT :: GLbitfield
+gl_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100
+
+gl_TEXTURE_USAGE_ANGLE :: GLenum
+gl_TEXTURE_USAGE_ANGLE = 0x93A2
+
+gl_TEXTURE_VIEW :: GLenum
+gl_TEXTURE_VIEW = 0x82B5
+
+gl_TEXTURE_VIEW_MIN_LAYER :: GLenum
+gl_TEXTURE_VIEW_MIN_LAYER = 0x82DD
+
+gl_TEXTURE_VIEW_MIN_LAYER_EXT :: GLenum
+gl_TEXTURE_VIEW_MIN_LAYER_EXT = 0x82DD
+
+gl_TEXTURE_VIEW_MIN_LAYER_OES :: GLenum
+gl_TEXTURE_VIEW_MIN_LAYER_OES = 0x82DD
+
+gl_TEXTURE_VIEW_MIN_LEVEL :: GLenum
+gl_TEXTURE_VIEW_MIN_LEVEL = 0x82DB
+
+gl_TEXTURE_VIEW_MIN_LEVEL_EXT :: GLenum
+gl_TEXTURE_VIEW_MIN_LEVEL_EXT = 0x82DB
+
+gl_TEXTURE_VIEW_MIN_LEVEL_OES :: GLenum
+gl_TEXTURE_VIEW_MIN_LEVEL_OES = 0x82DB
+
+gl_TEXTURE_VIEW_NUM_LAYERS :: GLenum
+gl_TEXTURE_VIEW_NUM_LAYERS = 0x82DE
+
+gl_TEXTURE_VIEW_NUM_LAYERS_EXT :: GLenum
+gl_TEXTURE_VIEW_NUM_LAYERS_EXT = 0x82DE
+
+gl_TEXTURE_VIEW_NUM_LAYERS_OES :: GLenum
+gl_TEXTURE_VIEW_NUM_LAYERS_OES = 0x82DE
+
+gl_TEXTURE_VIEW_NUM_LEVELS :: GLenum
+gl_TEXTURE_VIEW_NUM_LEVELS = 0x82DC
+
+gl_TEXTURE_VIEW_NUM_LEVELS_EXT :: GLenum
+gl_TEXTURE_VIEW_NUM_LEVELS_EXT = 0x82DC
+
+gl_TEXTURE_VIEW_NUM_LEVELS_OES :: GLenum
+gl_TEXTURE_VIEW_NUM_LEVELS_OES = 0x82DC
+
+gl_TEXTURE_WIDTH :: GLenum
+gl_TEXTURE_WIDTH = 0x1000
+
+gl_TEXTURE_WIDTH_QCOM :: GLenum
+gl_TEXTURE_WIDTH_QCOM = 0x8BD2
+
+gl_TEXTURE_WRAP_Q_SGIS :: GLenum
+gl_TEXTURE_WRAP_Q_SGIS = 0x8137
+
+gl_TEXTURE_WRAP_R :: GLenum
+gl_TEXTURE_WRAP_R = 0x8072
+
+gl_TEXTURE_WRAP_R_EXT :: GLenum
+gl_TEXTURE_WRAP_R_EXT = 0x8072
+
+gl_TEXTURE_WRAP_R_OES :: GLenum
+gl_TEXTURE_WRAP_R_OES = 0x8072
+
+gl_TEXTURE_WRAP_S :: GLenum
+gl_TEXTURE_WRAP_S = 0x2802
+
+gl_TEXTURE_WRAP_T :: GLenum
+gl_TEXTURE_WRAP_T = 0x2803
+
+gl_TEXT_FRAGMENT_SHADER_ATI :: GLenum
+gl_TEXT_FRAGMENT_SHADER_ATI = 0x8200
+
+gl_TIMEOUT_EXPIRED :: GLenum
+gl_TIMEOUT_EXPIRED = 0x911B
+
+gl_TIMEOUT_EXPIRED_APPLE :: GLenum
+gl_TIMEOUT_EXPIRED_APPLE = 0x911B
+
+gl_TIMEOUT_IGNORED :: GLuint64
+gl_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF
+
+gl_TIMEOUT_IGNORED_APPLE :: GLuint64
+gl_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF
+
+gl_TIMESTAMP :: GLenum
+gl_TIMESTAMP = 0x8E28
+
+gl_TIMESTAMP_EXT :: GLenum
+gl_TIMESTAMP_EXT = 0x8E28
+
+gl_TIME_ELAPSED :: GLenum
+gl_TIME_ELAPSED = 0x88BF
+
+gl_TIME_ELAPSED_EXT :: GLenum
+gl_TIME_ELAPSED_EXT = 0x88BF
+
+gl_TOP_LEVEL_ARRAY_SIZE :: GLenum
+gl_TOP_LEVEL_ARRAY_SIZE = 0x930C
+
+gl_TOP_LEVEL_ARRAY_STRIDE :: GLenum
+gl_TOP_LEVEL_ARRAY_STRIDE = 0x930D
+
+gl_TRACE_ALL_BITS_MESA :: GLbitfield
+gl_TRACE_ALL_BITS_MESA = 0xFFFF
+
+gl_TRACE_ARRAYS_BIT_MESA :: GLbitfield
+gl_TRACE_ARRAYS_BIT_MESA = 0x0004
+
+gl_TRACE_ERRORS_BIT_MESA :: GLbitfield
+gl_TRACE_ERRORS_BIT_MESA = 0x0020
+
+gl_TRACE_MASK_MESA :: GLenum
+gl_TRACE_MASK_MESA = 0x8755
+
+gl_TRACE_NAME_MESA :: GLenum
+gl_TRACE_NAME_MESA = 0x8756
+
+gl_TRACE_OPERATIONS_BIT_MESA :: GLbitfield
+gl_TRACE_OPERATIONS_BIT_MESA = 0x0001
+
+gl_TRACE_PIXELS_BIT_MESA :: GLbitfield
+gl_TRACE_PIXELS_BIT_MESA = 0x0010
+
+gl_TRACE_PRIMITIVES_BIT_MESA :: GLbitfield
+gl_TRACE_PRIMITIVES_BIT_MESA = 0x0002
+
+gl_TRACE_TEXTURES_BIT_MESA :: GLbitfield
+gl_TRACE_TEXTURES_BIT_MESA = 0x0008
+
+gl_TRACK_MATRIX_NV :: GLenum
+gl_TRACK_MATRIX_NV = 0x8648
+
+gl_TRACK_MATRIX_TRANSFORM_NV :: GLenum
+gl_TRACK_MATRIX_TRANSFORM_NV = 0x8649
+
+gl_TRANSFORM_BIT :: GLbitfield
+gl_TRANSFORM_BIT = 0x00001000
+
+gl_TRANSFORM_FEEDBACK :: GLenum
+gl_TRANSFORM_FEEDBACK = 0x8E22
+
+gl_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
+gl_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24
+
+gl_TRANSFORM_FEEDBACK_ATTRIBS_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E
+
+gl_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
+gl_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800
+
+gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT :: GLbitfield
+gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800
+
+gl_TRANSFORM_FEEDBACK_BINDING :: GLenum
+gl_TRANSFORM_FEEDBACK_BINDING = 0x8E25
+
+gl_TRANSFORM_FEEDBACK_BINDING_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25
+
+gl_TRANSFORM_FEEDBACK_BUFFER :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E
+
+gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24
+
+gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24
+
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E
+
+gl_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B
+
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F
+
+gl_TRANSFORM_FEEDBACK_BUFFER_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E
+
+gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23
+
+gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23
+
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85
+
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85
+
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85
+
+gl_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84
+
+gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84
+
+gl_TRANSFORM_FEEDBACK_BUFFER_START_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84
+
+gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
+gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C
+
+gl_TRANSFORM_FEEDBACK_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_NV = 0x8E22
+
+gl_TRANSFORM_FEEDBACK_OVERFLOW_ARB :: GLenum
+gl_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC
+
+gl_TRANSFORM_FEEDBACK_PAUSED :: GLenum
+gl_TRANSFORM_FEEDBACK_PAUSED = 0x8E23
+
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88
+
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88
+
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88
+
+gl_TRANSFORM_FEEDBACK_RECORD_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86
+
+gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB :: GLenum
+gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED
+
+gl_TRANSFORM_FEEDBACK_VARYING :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYING = 0x92F4
+
+gl_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83
+
+gl_TRANSFORM_FEEDBACK_VARYINGS_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83
+
+gl_TRANSFORM_FEEDBACK_VARYINGS_NV :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83
+
+gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76
+
+gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: GLenum
+gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76
+
+gl_TRANSFORM_HINT_APPLE :: GLenum
+gl_TRANSFORM_HINT_APPLE = 0x85B1
+
+gl_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE :: GLenum
+gl_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0
+
+gl_TRANSLATE_2D_NV :: GLenum
+gl_TRANSLATE_2D_NV = 0x9090
+
+gl_TRANSLATE_3D_NV :: GLenum
+gl_TRANSLATE_3D_NV = 0x9091
+
+gl_TRANSLATE_X_NV :: GLenum
+gl_TRANSLATE_X_NV = 0x908E
+
+gl_TRANSLATE_Y_NV :: GLenum
+gl_TRANSLATE_Y_NV = 0x908F
+
+gl_TRANSPOSE_AFFINE_2D_NV :: GLenum
+gl_TRANSPOSE_AFFINE_2D_NV = 0x9096
+
+gl_TRANSPOSE_AFFINE_3D_NV :: GLenum
+gl_TRANSPOSE_AFFINE_3D_NV = 0x9098
+
+gl_TRANSPOSE_COLOR_MATRIX :: GLenum
+gl_TRANSPOSE_COLOR_MATRIX = 0x84E6
+
+gl_TRANSPOSE_COLOR_MATRIX_ARB :: GLenum
+gl_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6
+
+gl_TRANSPOSE_CURRENT_MATRIX_ARB :: GLenum
+gl_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7
+
+gl_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
+gl_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3
+
+gl_TRANSPOSE_MODELVIEW_MATRIX_ARB :: GLenum
+gl_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3
+
+gl_TRANSPOSE_NV :: GLenum
+gl_TRANSPOSE_NV = 0x862C
+
+gl_TRANSPOSE_PROGRAM_MATRIX_EXT :: GLenum
+gl_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E
+
+gl_TRANSPOSE_PROJECTION_MATRIX :: GLenum
+gl_TRANSPOSE_PROJECTION_MATRIX = 0x84E4
+
+gl_TRANSPOSE_PROJECTION_MATRIX_ARB :: GLenum
+gl_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4
+
+gl_TRANSPOSE_TEXTURE_MATRIX :: GLenum
+gl_TRANSPOSE_TEXTURE_MATRIX = 0x84E5
+
+gl_TRANSPOSE_TEXTURE_MATRIX_ARB :: GLenum
+gl_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5
+
+gl_TRIANGLES :: GLenum
+gl_TRIANGLES = 0x0004
+
+gl_TRIANGLES_ADJACENCY :: GLenum
+gl_TRIANGLES_ADJACENCY = 0x000C
+
+gl_TRIANGLES_ADJACENCY_ARB :: GLenum
+gl_TRIANGLES_ADJACENCY_ARB = 0x000C
+
+gl_TRIANGLES_ADJACENCY_EXT :: GLenum
+gl_TRIANGLES_ADJACENCY_EXT = 0x000C
+
+gl_TRIANGLES_ADJACENCY_OES :: GLenum
+gl_TRIANGLES_ADJACENCY_OES = 0x000C
+
+gl_TRIANGLE_FAN :: GLenum
+gl_TRIANGLE_FAN = 0x0006
+
+gl_TRIANGLE_LIST_SUN :: GLenum
+gl_TRIANGLE_LIST_SUN = 0x81D7
+
+gl_TRIANGLE_MESH_SUN :: GLenum
+gl_TRIANGLE_MESH_SUN = 0x8615
+
+gl_TRIANGLE_STRIP :: GLenum
+gl_TRIANGLE_STRIP = 0x0005
+
+gl_TRIANGLE_STRIP_ADJACENCY :: GLenum
+gl_TRIANGLE_STRIP_ADJACENCY = 0x000D
+
+gl_TRIANGLE_STRIP_ADJACENCY_ARB :: GLenum
+gl_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D
+
+gl_TRIANGLE_STRIP_ADJACENCY_EXT :: GLenum
+gl_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D
+
+gl_TRIANGLE_STRIP_ADJACENCY_OES :: GLenum
+gl_TRIANGLE_STRIP_ADJACENCY_OES = 0x000D
+
+gl_TRIANGULAR_NV :: GLenum
+gl_TRIANGULAR_NV = 0x90A5
+
+gl_TRUE :: GLenum
+gl_TRUE = 1
+
+gl_TYPE :: GLenum
+gl_TYPE = 0x92FA
+
+gl_UNCORRELATED_NV :: GLenum
+gl_UNCORRELATED_NV = 0x9282
+
+gl_UNDEFINED_APPLE :: GLenum
+gl_UNDEFINED_APPLE = 0x8A1C
+
+gl_UNDEFINED_VERTEX :: GLenum
+gl_UNDEFINED_VERTEX = 0x8260
+
+gl_UNDEFINED_VERTEX_EXT :: GLenum
+gl_UNDEFINED_VERTEX_EXT = 0x8260
+
+gl_UNDEFINED_VERTEX_OES :: GLenum
+gl_UNDEFINED_VERTEX_OES = 0x8260
+
+gl_UNIFORM :: GLenum
+gl_UNIFORM = 0x92E1
+
+gl_UNIFORM_ARRAY_STRIDE :: GLenum
+gl_UNIFORM_ARRAY_STRIDE = 0x8A3C
+
+gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
+gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA
+
+gl_UNIFORM_BARRIER_BIT :: GLbitfield
+gl_UNIFORM_BARRIER_BIT = 0x00000004
+
+gl_UNIFORM_BARRIER_BIT_EXT :: GLbitfield
+gl_UNIFORM_BARRIER_BIT_EXT = 0x00000004
+
+gl_UNIFORM_BLOCK :: GLenum
+gl_UNIFORM_BLOCK = 0x92E2
+
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42
+
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
+gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43
+
+gl_UNIFORM_BLOCK_BINDING :: GLenum
+gl_UNIFORM_BLOCK_BINDING = 0x8A3F
+
+gl_UNIFORM_BLOCK_DATA_SIZE :: GLenum
+gl_UNIFORM_BLOCK_DATA_SIZE = 0x8A40
+
+gl_UNIFORM_BLOCK_INDEX :: GLenum
+gl_UNIFORM_BLOCK_INDEX = 0x8A3A
+
+gl_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
+gl_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1
+
+gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
+gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44
+
+gl_UNIFORM_BUFFER :: GLenum
+gl_UNIFORM_BUFFER = 0x8A11
+
+gl_UNIFORM_BUFFER_ADDRESS_NV :: GLenum
+gl_UNIFORM_BUFFER_ADDRESS_NV = 0x936F
+
+gl_UNIFORM_BUFFER_BINDING :: GLenum
+gl_UNIFORM_BUFFER_BINDING = 0x8A28
+
+gl_UNIFORM_BUFFER_BINDING_EXT :: GLenum
+gl_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF
+
+gl_UNIFORM_BUFFER_EXT :: GLenum
+gl_UNIFORM_BUFFER_EXT = 0x8DEE
+
+gl_UNIFORM_BUFFER_LENGTH_NV :: GLenum
+gl_UNIFORM_BUFFER_LENGTH_NV = 0x9370
+
+gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
+gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34
+
+gl_UNIFORM_BUFFER_SIZE :: GLenum
+gl_UNIFORM_BUFFER_SIZE = 0x8A2A
+
+gl_UNIFORM_BUFFER_START :: GLenum
+gl_UNIFORM_BUFFER_START = 0x8A29
+
+gl_UNIFORM_BUFFER_UNIFIED_NV :: GLenum
+gl_UNIFORM_BUFFER_UNIFIED_NV = 0x936E
+
+gl_UNIFORM_IS_ROW_MAJOR :: GLenum
+gl_UNIFORM_IS_ROW_MAJOR = 0x8A3E
+
+gl_UNIFORM_MATRIX_STRIDE :: GLenum
+gl_UNIFORM_MATRIX_STRIDE = 0x8A3D
+
+gl_UNIFORM_NAME_LENGTH :: GLenum
+gl_UNIFORM_NAME_LENGTH = 0x8A39
+
+gl_UNIFORM_OFFSET :: GLenum
+gl_UNIFORM_OFFSET = 0x8A3B
+
+gl_UNIFORM_SIZE :: GLenum
+gl_UNIFORM_SIZE = 0x8A38
+
+gl_UNIFORM_TYPE :: GLenum
+gl_UNIFORM_TYPE = 0x8A37
+
+gl_UNKNOWN_CONTEXT_RESET :: GLenum
+gl_UNKNOWN_CONTEXT_RESET = 0x8255
+
+gl_UNKNOWN_CONTEXT_RESET_ARB :: GLenum
+gl_UNKNOWN_CONTEXT_RESET_ARB = 0x8255
+
+gl_UNKNOWN_CONTEXT_RESET_EXT :: GLenum
+gl_UNKNOWN_CONTEXT_RESET_EXT = 0x8255
+
+gl_UNKNOWN_CONTEXT_RESET_KHR :: GLenum
+gl_UNKNOWN_CONTEXT_RESET_KHR = 0x8255
+
+gl_UNPACK_ALIGNMENT :: GLenum
+gl_UNPACK_ALIGNMENT = 0x0CF5
+
+gl_UNPACK_CLIENT_STORAGE_APPLE :: GLenum
+gl_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2
+
+gl_UNPACK_CMYK_HINT_EXT :: GLenum
+gl_UNPACK_CMYK_HINT_EXT = 0x800F
+
+gl_UNPACK_COLORSPACE_CONVERSION_WEBGL :: GLenum
+gl_UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243
+
+gl_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
+gl_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129
+
+gl_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
+gl_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128
+
+gl_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
+gl_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A
+
+gl_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
+gl_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127
+
+gl_UNPACK_COMPRESSED_SIZE_SGIX :: GLenum
+gl_UNPACK_COMPRESSED_SIZE_SGIX = 0x831A
+
+gl_UNPACK_CONSTANT_DATA_SUNX :: GLenum
+gl_UNPACK_CONSTANT_DATA_SUNX = 0x81D5
+
+gl_UNPACK_FLIP_Y_WEBGL :: GLenum
+gl_UNPACK_FLIP_Y_WEBGL = 0x9240
+
+gl_UNPACK_IMAGE_DEPTH_SGIS :: GLenum
+gl_UNPACK_IMAGE_DEPTH_SGIS = 0x8133
+
+gl_UNPACK_IMAGE_HEIGHT :: GLenum
+gl_UNPACK_IMAGE_HEIGHT = 0x806E
+
+gl_UNPACK_IMAGE_HEIGHT_EXT :: GLenum
+gl_UNPACK_IMAGE_HEIGHT_EXT = 0x806E
+
+gl_UNPACK_LSB_FIRST :: GLenum
+gl_UNPACK_LSB_FIRST = 0x0CF1
+
+gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL :: GLenum
+gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241
+
+gl_UNPACK_RESAMPLE_OML :: GLenum
+gl_UNPACK_RESAMPLE_OML = 0x8985
+
+gl_UNPACK_RESAMPLE_SGIX :: GLenum
+gl_UNPACK_RESAMPLE_SGIX = 0x842F
+
+gl_UNPACK_ROW_BYTES_APPLE :: GLenum
+gl_UNPACK_ROW_BYTES_APPLE = 0x8A16
+
+gl_UNPACK_ROW_LENGTH :: GLenum
+gl_UNPACK_ROW_LENGTH = 0x0CF2
+
+gl_UNPACK_ROW_LENGTH_EXT :: GLenum
+gl_UNPACK_ROW_LENGTH_EXT = 0x0CF2
+
+gl_UNPACK_SKIP_IMAGES :: GLenum
+gl_UNPACK_SKIP_IMAGES = 0x806D
+
+gl_UNPACK_SKIP_IMAGES_EXT :: GLenum
+gl_UNPACK_SKIP_IMAGES_EXT = 0x806D
+
+gl_UNPACK_SKIP_PIXELS :: GLenum
+gl_UNPACK_SKIP_PIXELS = 0x0CF4
+
+gl_UNPACK_SKIP_PIXELS_EXT :: GLenum
+gl_UNPACK_SKIP_PIXELS_EXT = 0x0CF4
+
+gl_UNPACK_SKIP_ROWS :: GLenum
+gl_UNPACK_SKIP_ROWS = 0x0CF3
+
+gl_UNPACK_SKIP_ROWS_EXT :: GLenum
+gl_UNPACK_SKIP_ROWS_EXT = 0x0CF3
+
+gl_UNPACK_SKIP_VOLUMES_SGIS :: GLenum
+gl_UNPACK_SKIP_VOLUMES_SGIS = 0x8132
+
+gl_UNPACK_SUBSAMPLE_RATE_SGIX :: GLenum
+gl_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1
+
+gl_UNPACK_SWAP_BYTES :: GLenum
+gl_UNPACK_SWAP_BYTES = 0x0CF0
+
+gl_UNSIGNALED :: GLenum
+gl_UNSIGNALED = 0x9118
+
+gl_UNSIGNALED_APPLE :: GLenum
+gl_UNSIGNALED_APPLE = 0x9118
+
+gl_UNSIGNED_BYTE :: GLenum
+gl_UNSIGNED_BYTE = 0x1401
+
+gl_UNSIGNED_BYTE_2_3_3_REV :: GLenum
+gl_UNSIGNED_BYTE_2_3_3_REV = 0x8362
+
+gl_UNSIGNED_BYTE_2_3_3_REV_EXT :: GLenum
+gl_UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362
+
+gl_UNSIGNED_BYTE_3_3_2 :: GLenum
+gl_UNSIGNED_BYTE_3_3_2 = 0x8032
+
+gl_UNSIGNED_BYTE_3_3_2_EXT :: GLenum
+gl_UNSIGNED_BYTE_3_3_2_EXT = 0x8032
+
+gl_UNSIGNED_IDENTITY_NV :: GLenum
+gl_UNSIGNED_IDENTITY_NV = 0x8536
+
+gl_UNSIGNED_INT :: GLenum
+gl_UNSIGNED_INT = 0x1405
+
+gl_UNSIGNED_INT16_NV :: GLenum
+gl_UNSIGNED_INT16_NV = 0x8FF0
+
+gl_UNSIGNED_INT16_VEC2_NV :: GLenum
+gl_UNSIGNED_INT16_VEC2_NV = 0x8FF1
+
+gl_UNSIGNED_INT16_VEC3_NV :: GLenum
+gl_UNSIGNED_INT16_VEC3_NV = 0x8FF2
+
+gl_UNSIGNED_INT16_VEC4_NV :: GLenum
+gl_UNSIGNED_INT16_VEC4_NV = 0x8FF3
+
+gl_UNSIGNED_INT64_AMD :: GLenum
+gl_UNSIGNED_INT64_AMD = 0x8BC2
+
+gl_UNSIGNED_INT64_ARB :: GLenum
+gl_UNSIGNED_INT64_ARB = 0x140F
+
+gl_UNSIGNED_INT64_NV :: GLenum
+gl_UNSIGNED_INT64_NV = 0x140F
+
+gl_UNSIGNED_INT64_VEC2_NV :: GLenum
+gl_UNSIGNED_INT64_VEC2_NV = 0x8FF5
+
+gl_UNSIGNED_INT64_VEC3_NV :: GLenum
+gl_UNSIGNED_INT64_VEC3_NV = 0x8FF6
+
+gl_UNSIGNED_INT64_VEC4_NV :: GLenum
+gl_UNSIGNED_INT64_VEC4_NV = 0x8FF7
+
+gl_UNSIGNED_INT8_NV :: GLenum
+gl_UNSIGNED_INT8_NV = 0x8FEC
+
+gl_UNSIGNED_INT8_VEC2_NV :: GLenum
+gl_UNSIGNED_INT8_VEC2_NV = 0x8FED
+
+gl_UNSIGNED_INT8_VEC3_NV :: GLenum
+gl_UNSIGNED_INT8_VEC3_NV = 0x8FEE
+
+gl_UNSIGNED_INT8_VEC4_NV :: GLenum
+gl_UNSIGNED_INT8_VEC4_NV = 0x8FEF
+
+gl_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
+gl_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B
+
+gl_UNSIGNED_INT_10F_11F_11F_REV_APPLE :: GLenum
+gl_UNSIGNED_INT_10F_11F_11F_REV_APPLE = 0x8C3B
+
+gl_UNSIGNED_INT_10F_11F_11F_REV_EXT :: GLenum
+gl_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B
+
+gl_UNSIGNED_INT_10_10_10_2 :: GLenum
+gl_UNSIGNED_INT_10_10_10_2 = 0x8036
+
+gl_UNSIGNED_INT_10_10_10_2_EXT :: GLenum
+gl_UNSIGNED_INT_10_10_10_2_EXT = 0x8036
+
+gl_UNSIGNED_INT_10_10_10_2_OES :: GLenum
+gl_UNSIGNED_INT_10_10_10_2_OES = 0x8DF6
+
+gl_UNSIGNED_INT_24_8 :: GLenum
+gl_UNSIGNED_INT_24_8 = 0x84FA
+
+gl_UNSIGNED_INT_24_8_EXT :: GLenum
+gl_UNSIGNED_INT_24_8_EXT = 0x84FA
+
+gl_UNSIGNED_INT_24_8_MESA :: GLenum
+gl_UNSIGNED_INT_24_8_MESA = 0x8751
+
+gl_UNSIGNED_INT_24_8_NV :: GLenum
+gl_UNSIGNED_INT_24_8_NV = 0x84FA
+
+gl_UNSIGNED_INT_24_8_OES :: GLenum
+gl_UNSIGNED_INT_24_8_OES = 0x84FA
+
+gl_UNSIGNED_INT_2_10_10_10_REV :: GLenum
+gl_UNSIGNED_INT_2_10_10_10_REV = 0x8368
+
+gl_UNSIGNED_INT_2_10_10_10_REV_EXT :: GLenum
+gl_UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368
+
+gl_UNSIGNED_INT_5_9_9_9_REV :: GLenum
+gl_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E
+
+gl_UNSIGNED_INT_5_9_9_9_REV_APPLE :: GLenum
+gl_UNSIGNED_INT_5_9_9_9_REV_APPLE = 0x8C3E
+
+gl_UNSIGNED_INT_5_9_9_9_REV_EXT :: GLenum
+gl_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E
+
+gl_UNSIGNED_INT_8_24_REV_MESA :: GLenum
+gl_UNSIGNED_INT_8_24_REV_MESA = 0x8752
+
+gl_UNSIGNED_INT_8_8_8_8 :: GLenum
+gl_UNSIGNED_INT_8_8_8_8 = 0x8035
+
+gl_UNSIGNED_INT_8_8_8_8_EXT :: GLenum
+gl_UNSIGNED_INT_8_8_8_8_EXT = 0x8035
+
+gl_UNSIGNED_INT_8_8_8_8_REV :: GLenum
+gl_UNSIGNED_INT_8_8_8_8_REV = 0x8367
+
+gl_UNSIGNED_INT_8_8_8_8_REV_EXT :: GLenum
+gl_UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367
+
+gl_UNSIGNED_INT_8_8_S8_S8_REV_NV :: GLenum
+gl_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB
+
+gl_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
+gl_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB
+
+gl_UNSIGNED_INT_IMAGE_1D :: GLenum
+gl_UNSIGNED_INT_IMAGE_1D = 0x9062
+
+gl_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
+gl_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068
+
+gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068
+
+gl_UNSIGNED_INT_IMAGE_1D_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062
+
+gl_UNSIGNED_INT_IMAGE_2D :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D = 0x9063
+
+gl_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069
+
+gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069
+
+gl_UNSIGNED_INT_IMAGE_2D_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063
+
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B
+
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C
+
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C
+
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B
+
+gl_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065
+
+gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065
+
+gl_UNSIGNED_INT_IMAGE_3D :: GLenum
+gl_UNSIGNED_INT_IMAGE_3D = 0x9064
+
+gl_UNSIGNED_INT_IMAGE_3D_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064
+
+gl_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
+gl_UNSIGNED_INT_IMAGE_BUFFER = 0x9067
+
+gl_UNSIGNED_INT_IMAGE_BUFFER_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067
+
+gl_UNSIGNED_INT_IMAGE_BUFFER_OES :: GLenum
+gl_UNSIGNED_INT_IMAGE_BUFFER_OES = 0x9067
+
+gl_UNSIGNED_INT_IMAGE_CUBE :: GLenum
+gl_UNSIGNED_INT_IMAGE_CUBE = 0x9066
+
+gl_UNSIGNED_INT_IMAGE_CUBE_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066
+
+gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
+gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A
+
+gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A
+
+gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
+gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x906A
+
+gl_UNSIGNED_INT_S8_S8_8_8_NV :: GLenum
+gl_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA
+
+gl_UNSIGNED_INT_SAMPLER_1D :: GLenum
+gl_UNSIGNED_INT_SAMPLER_1D = 0x8DD1
+
+gl_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6
+
+gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6
+
+gl_UNSIGNED_INT_SAMPLER_1D_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1
+
+gl_UNSIGNED_INT_SAMPLER_2D :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D = 0x8DD2
+
+gl_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7
+
+gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7
+
+gl_UNSIGNED_INT_SAMPLER_2D_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2
+
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A
+
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D
+
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D
+
+gl_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5
+
+gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5
+
+gl_UNSIGNED_INT_SAMPLER_3D :: GLenum
+gl_UNSIGNED_INT_SAMPLER_3D = 0x8DD3
+
+gl_UNSIGNED_INT_SAMPLER_3D_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3
+
+gl_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
+gl_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8
+
+gl_UNSIGNED_INT_SAMPLER_BUFFER_AMD :: GLenum
+gl_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003
+
+gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8
+
+gl_UNSIGNED_INT_SAMPLER_BUFFER_OES :: GLenum
+gl_UNSIGNED_INT_SAMPLER_BUFFER_OES = 0x8DD8
+
+gl_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4
+
+gl_UNSIGNED_INT_SAMPLER_CUBE_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4
+
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F
+
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F
+
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F
+
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
+gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900F
+
+gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
+gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58
+
+gl_UNSIGNED_INT_VEC2 :: GLenum
+gl_UNSIGNED_INT_VEC2 = 0x8DC6
+
+gl_UNSIGNED_INT_VEC2_EXT :: GLenum
+gl_UNSIGNED_INT_VEC2_EXT = 0x8DC6
+
+gl_UNSIGNED_INT_VEC3 :: GLenum
+gl_UNSIGNED_INT_VEC3 = 0x8DC7
+
+gl_UNSIGNED_INT_VEC3_EXT :: GLenum
+gl_UNSIGNED_INT_VEC3_EXT = 0x8DC7
+
+gl_UNSIGNED_INT_VEC4 :: GLenum
+gl_UNSIGNED_INT_VEC4 = 0x8DC8
+
+gl_UNSIGNED_INT_VEC4_EXT :: GLenum
+gl_UNSIGNED_INT_VEC4_EXT = 0x8DC8
+
+gl_UNSIGNED_INVERT_NV :: GLenum
+gl_UNSIGNED_INVERT_NV = 0x8537
+
+gl_UNSIGNED_NORMALIZED :: GLenum
+gl_UNSIGNED_NORMALIZED = 0x8C17
+
+gl_UNSIGNED_NORMALIZED_ARB :: GLenum
+gl_UNSIGNED_NORMALIZED_ARB = 0x8C17
+
+gl_UNSIGNED_NORMALIZED_EXT :: GLenum
+gl_UNSIGNED_NORMALIZED_EXT = 0x8C17
+
+gl_UNSIGNED_SHORT :: GLenum
+gl_UNSIGNED_SHORT = 0x1403
+
+gl_UNSIGNED_SHORT_15_1_MESA :: GLenum
+gl_UNSIGNED_SHORT_15_1_MESA = 0x8753
+
+gl_UNSIGNED_SHORT_1_15_REV_MESA :: GLenum
+gl_UNSIGNED_SHORT_1_15_REV_MESA = 0x8754
+
+gl_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
+gl_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366
+
+gl_UNSIGNED_SHORT_1_5_5_5_REV_EXT :: GLenum
+gl_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366
+
+gl_UNSIGNED_SHORT_4_4_4_4 :: GLenum
+gl_UNSIGNED_SHORT_4_4_4_4 = 0x8033
+
+gl_UNSIGNED_SHORT_4_4_4_4_EXT :: GLenum
+gl_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033
+
+gl_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
+gl_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365
+
+gl_UNSIGNED_SHORT_4_4_4_4_REV_EXT :: GLenum
+gl_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365
+
+gl_UNSIGNED_SHORT_4_4_4_4_REV_IMG :: GLenum
+gl_UNSIGNED_SHORT_4_4_4_4_REV_IMG = 0x8365
+
+gl_UNSIGNED_SHORT_5_5_5_1 :: GLenum
+gl_UNSIGNED_SHORT_5_5_5_1 = 0x8034
+
+gl_UNSIGNED_SHORT_5_5_5_1_EXT :: GLenum
+gl_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034
+
+gl_UNSIGNED_SHORT_5_6_5 :: GLenum
+gl_UNSIGNED_SHORT_5_6_5 = 0x8363
+
+gl_UNSIGNED_SHORT_5_6_5_EXT :: GLenum
+gl_UNSIGNED_SHORT_5_6_5_EXT = 0x8363
+
+gl_UNSIGNED_SHORT_5_6_5_REV :: GLenum
+gl_UNSIGNED_SHORT_5_6_5_REV = 0x8364
+
+gl_UNSIGNED_SHORT_5_6_5_REV_EXT :: GLenum
+gl_UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364
+
+gl_UNSIGNED_SHORT_8_8_APPLE :: GLenum
+gl_UNSIGNED_SHORT_8_8_APPLE = 0x85BA
+
+gl_UNSIGNED_SHORT_8_8_MESA :: GLenum
+gl_UNSIGNED_SHORT_8_8_MESA = 0x85BA
+
+gl_UNSIGNED_SHORT_8_8_REV_APPLE :: GLenum
+gl_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB
+
+gl_UNSIGNED_SHORT_8_8_REV_MESA :: GLenum
+gl_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB
+
+gl_UPPER_LEFT :: GLenum
+gl_UPPER_LEFT = 0x8CA2
+
+gl_USE_MISSING_GLYPH_NV :: GLenum
+gl_USE_MISSING_GLYPH_NV = 0x90AA
+
+gl_UTF16_NV :: GLenum
+gl_UTF16_NV = 0x909B
+
+gl_UTF8_NV :: GLenum
+gl_UTF8_NV = 0x909A
+
+gl_V2F :: GLenum
+gl_V2F = 0x2A20
+
+gl_V3F :: GLenum
+gl_V3F = 0x2A21
+
+gl_VALIDATE_STATUS :: GLenum
+gl_VALIDATE_STATUS = 0x8B83
+
+gl_VARIABLE_A_NV :: GLenum
+gl_VARIABLE_A_NV = 0x8523
+
+gl_VARIABLE_B_NV :: GLenum
+gl_VARIABLE_B_NV = 0x8524
+
+gl_VARIABLE_C_NV :: GLenum
+gl_VARIABLE_C_NV = 0x8525
+
+gl_VARIABLE_D_NV :: GLenum
+gl_VARIABLE_D_NV = 0x8526
+
+gl_VARIABLE_E_NV :: GLenum
+gl_VARIABLE_E_NV = 0x8527
+
+gl_VARIABLE_F_NV :: GLenum
+gl_VARIABLE_F_NV = 0x8528
+
+gl_VARIABLE_G_NV :: GLenum
+gl_VARIABLE_G_NV = 0x8529
+
+gl_VARIANT_ARRAY_EXT :: GLenum
+gl_VARIANT_ARRAY_EXT = 0x87E8
+
+gl_VARIANT_ARRAY_POINTER_EXT :: GLenum
+gl_VARIANT_ARRAY_POINTER_EXT = 0x87E9
+
+gl_VARIANT_ARRAY_STRIDE_EXT :: GLenum
+gl_VARIANT_ARRAY_STRIDE_EXT = 0x87E6
+
+gl_VARIANT_ARRAY_TYPE_EXT :: GLenum
+gl_VARIANT_ARRAY_TYPE_EXT = 0x87E7
+
+gl_VARIANT_DATATYPE_EXT :: GLenum
+gl_VARIANT_DATATYPE_EXT = 0x87E5
+
+gl_VARIANT_EXT :: GLenum
+gl_VARIANT_EXT = 0x87C1
+
+gl_VARIANT_VALUE_EXT :: GLenum
+gl_VARIANT_VALUE_EXT = 0x87E4
+
+gl_VBO_FREE_MEMORY_ATI :: GLenum
+gl_VBO_FREE_MEMORY_ATI = 0x87FB
+
+gl_VECTOR_EXT :: GLenum
+gl_VECTOR_EXT = 0x87BF
+
+gl_VENDOR :: GLenum
+gl_VENDOR = 0x1F00
+
+gl_VERSION :: GLenum
+gl_VERSION = 0x1F02
+
+gl_VERSION_ES_CL_1_0 :: GLenum
+gl_VERSION_ES_CL_1_0 = 1
+
+gl_VERSION_ES_CL_1_1 :: GLenum
+gl_VERSION_ES_CL_1_1 = 1
+
+gl_VERSION_ES_CM_1_1 :: GLenum
+gl_VERSION_ES_CM_1_1 = 1
+
+gl_VERTEX23_BIT_PGI :: GLbitfield
+gl_VERTEX23_BIT_PGI = 0x00000004
+
+gl_VERTEX4_BIT_PGI :: GLbitfield
+gl_VERTEX4_BIT_PGI = 0x00000008
+
+gl_VERTEX_ARRAY :: GLenum
+gl_VERTEX_ARRAY = 0x8074
+
+gl_VERTEX_ARRAY_ADDRESS_NV :: GLenum
+gl_VERTEX_ARRAY_ADDRESS_NV = 0x8F21
+
+gl_VERTEX_ARRAY_BINDING :: GLenum
+gl_VERTEX_ARRAY_BINDING = 0x85B5
+
+gl_VERTEX_ARRAY_BINDING_APPLE :: GLenum
+gl_VERTEX_ARRAY_BINDING_APPLE = 0x85B5
+
+gl_VERTEX_ARRAY_BINDING_OES :: GLenum
+gl_VERTEX_ARRAY_BINDING_OES = 0x85B5
+
+gl_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
+gl_VERTEX_ARRAY_BUFFER_BINDING = 0x8896
+
+gl_VERTEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896
+
+gl_VERTEX_ARRAY_COUNT_EXT :: GLenum
+gl_VERTEX_ARRAY_COUNT_EXT = 0x807D
+
+gl_VERTEX_ARRAY_EXT :: GLenum
+gl_VERTEX_ARRAY_EXT = 0x8074
+
+gl_VERTEX_ARRAY_KHR :: GLenum
+gl_VERTEX_ARRAY_KHR = 0x8074
+
+gl_VERTEX_ARRAY_LENGTH_NV :: GLenum
+gl_VERTEX_ARRAY_LENGTH_NV = 0x8F2B
+
+gl_VERTEX_ARRAY_LIST_IBM :: GLenum
+gl_VERTEX_ARRAY_LIST_IBM = 103070
+
+gl_VERTEX_ARRAY_LIST_STRIDE_IBM :: GLenum
+gl_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080
+
+gl_VERTEX_ARRAY_OBJECT_AMD :: GLenum
+gl_VERTEX_ARRAY_OBJECT_AMD = 0x9154
+
+gl_VERTEX_ARRAY_OBJECT_EXT :: GLenum
+gl_VERTEX_ARRAY_OBJECT_EXT = 0x9154
+
+gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
+gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5
+
+gl_VERTEX_ARRAY_POINTER :: GLenum
+gl_VERTEX_ARRAY_POINTER = 0x808E
+
+gl_VERTEX_ARRAY_POINTER_EXT :: GLenum
+gl_VERTEX_ARRAY_POINTER_EXT = 0x808E
+
+gl_VERTEX_ARRAY_RANGE_APPLE :: GLenum
+gl_VERTEX_ARRAY_RANGE_APPLE = 0x851D
+
+gl_VERTEX_ARRAY_RANGE_LENGTH_APPLE :: GLenum
+gl_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E
+
+gl_VERTEX_ARRAY_RANGE_LENGTH_NV :: GLenum
+gl_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E
+
+gl_VERTEX_ARRAY_RANGE_NV :: GLenum
+gl_VERTEX_ARRAY_RANGE_NV = 0x851D
+
+gl_VERTEX_ARRAY_RANGE_POINTER_APPLE :: GLenum
+gl_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521
+
+gl_VERTEX_ARRAY_RANGE_POINTER_NV :: GLenum
+gl_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521
+
+gl_VERTEX_ARRAY_RANGE_VALID_NV :: GLenum
+gl_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F
+
+gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV :: GLenum
+gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533
+
+gl_VERTEX_ARRAY_SIZE :: GLenum
+gl_VERTEX_ARRAY_SIZE = 0x807A
+
+gl_VERTEX_ARRAY_SIZE_EXT :: GLenum
+gl_VERTEX_ARRAY_SIZE_EXT = 0x807A
+
+gl_VERTEX_ARRAY_STORAGE_HINT_APPLE :: GLenum
+gl_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F
+
+gl_VERTEX_ARRAY_STRIDE :: GLenum
+gl_VERTEX_ARRAY_STRIDE = 0x807C
+
+gl_VERTEX_ARRAY_STRIDE_EXT :: GLenum
+gl_VERTEX_ARRAY_STRIDE_EXT = 0x807C
+
+gl_VERTEX_ARRAY_TYPE :: GLenum
+gl_VERTEX_ARRAY_TYPE = 0x807B
+
+gl_VERTEX_ARRAY_TYPE_EXT :: GLenum
+gl_VERTEX_ARRAY_TYPE_EXT = 0x807B
+
+gl_VERTEX_ATTRIB_ARRAY0_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY0_NV = 0x8650
+
+gl_VERTEX_ATTRIB_ARRAY10_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY10_NV = 0x865A
+
+gl_VERTEX_ATTRIB_ARRAY11_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY11_NV = 0x865B
+
+gl_VERTEX_ATTRIB_ARRAY12_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY12_NV = 0x865C
+
+gl_VERTEX_ATTRIB_ARRAY13_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY13_NV = 0x865D
+
+gl_VERTEX_ATTRIB_ARRAY14_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY14_NV = 0x865E
+
+gl_VERTEX_ATTRIB_ARRAY15_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY15_NV = 0x865F
+
+gl_VERTEX_ATTRIB_ARRAY1_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY1_NV = 0x8651
+
+gl_VERTEX_ATTRIB_ARRAY2_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY2_NV = 0x8652
+
+gl_VERTEX_ATTRIB_ARRAY3_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY3_NV = 0x8653
+
+gl_VERTEX_ATTRIB_ARRAY4_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY4_NV = 0x8654
+
+gl_VERTEX_ATTRIB_ARRAY5_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY5_NV = 0x8655
+
+gl_VERTEX_ATTRIB_ARRAY6_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY6_NV = 0x8656
+
+gl_VERTEX_ATTRIB_ARRAY7_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY7_NV = 0x8657
+
+gl_VERTEX_ATTRIB_ARRAY8_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY8_NV = 0x8658
+
+gl_VERTEX_ATTRIB_ARRAY9_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY9_NV = 0x8659
+
+gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20
+
+gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
+gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001
+
+gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT :: GLbitfield
+gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001
+
+gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F
+
+gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F
+
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE
+
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE
+
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE
+
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = 0x88FE
+
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = 0x88FE
+
+gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622
+
+gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622
+
+gl_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD
+
+gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXT :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD
+
+gl_VERTEX_ATTRIB_ARRAY_INTEGER_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD
+
+gl_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A
+
+gl_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_LONG = 0x874E
+
+gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A
+
+gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A
+
+gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645
+
+gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645
+
+gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623
+
+gl_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623
+
+gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624
+
+gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624
+
+gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625
+
+gl_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625
+
+gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: GLenum
+gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E
+
+gl_VERTEX_ATTRIB_BINDING :: GLenum
+gl_VERTEX_ATTRIB_BINDING = 0x82D4
+
+gl_VERTEX_ATTRIB_MAP1_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00
+
+gl_VERTEX_ATTRIB_MAP1_COEFF_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03
+
+gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05
+
+gl_VERTEX_ATTRIB_MAP1_ORDER_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04
+
+gl_VERTEX_ATTRIB_MAP1_SIZE_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02
+
+gl_VERTEX_ATTRIB_MAP2_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01
+
+gl_VERTEX_ATTRIB_MAP2_COEFF_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07
+
+gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09
+
+gl_VERTEX_ATTRIB_MAP2_ORDER_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08
+
+gl_VERTEX_ATTRIB_MAP2_SIZE_APPLE :: GLenum
+gl_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06
+
+gl_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
+gl_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5
+
+gl_VERTEX_BINDING_BUFFER :: GLenum
+gl_VERTEX_BINDING_BUFFER = 0x8F4F
+
+gl_VERTEX_BINDING_DIVISOR :: GLenum
+gl_VERTEX_BINDING_DIVISOR = 0x82D6
+
+gl_VERTEX_BINDING_OFFSET :: GLenum
+gl_VERTEX_BINDING_OFFSET = 0x82D7
+
+gl_VERTEX_BINDING_STRIDE :: GLenum
+gl_VERTEX_BINDING_STRIDE = 0x82D8
+
+gl_VERTEX_BLEND_ARB :: GLenum
+gl_VERTEX_BLEND_ARB = 0x86A7
+
+gl_VERTEX_CONSISTENT_HINT_PGI :: GLenum
+gl_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B
+
+gl_VERTEX_DATA_HINT_PGI :: GLenum
+gl_VERTEX_DATA_HINT_PGI = 0x1A22A
+
+gl_VERTEX_ELEMENT_SWIZZLE_AMD :: GLenum
+gl_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4
+
+gl_VERTEX_ID_NV :: GLenum
+gl_VERTEX_ID_NV = 0x8C7B
+
+gl_VERTEX_ID_SWIZZLE_AMD :: GLenum
+gl_VERTEX_ID_SWIZZLE_AMD = 0x91A5
+
+gl_VERTEX_PRECLIP_HINT_SGIX :: GLenum
+gl_VERTEX_PRECLIP_HINT_SGIX = 0x83EF
+
+gl_VERTEX_PRECLIP_SGIX :: GLenum
+gl_VERTEX_PRECLIP_SGIX = 0x83EE
+
+gl_VERTEX_PROGRAM_ARB :: GLenum
+gl_VERTEX_PROGRAM_ARB = 0x8620
+
+gl_VERTEX_PROGRAM_BINDING_NV :: GLenum
+gl_VERTEX_PROGRAM_BINDING_NV = 0x864A
+
+gl_VERTEX_PROGRAM_CALLBACK_DATA_MESA :: GLenum
+gl_VERTEX_PROGRAM_CALLBACK_DATA_MESA = 0x8BB7
+
+gl_VERTEX_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
+gl_VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB6
+
+gl_VERTEX_PROGRAM_CALLBACK_MESA :: GLenum
+gl_VERTEX_PROGRAM_CALLBACK_MESA = 0x8BB5
+
+gl_VERTEX_PROGRAM_NV :: GLenum
+gl_VERTEX_PROGRAM_NV = 0x8620
+
+gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
+gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2
+
+gl_VERTEX_PROGRAM_POINT_SIZE :: GLenum
+gl_VERTEX_PROGRAM_POINT_SIZE = 0x8642
+
+gl_VERTEX_PROGRAM_POINT_SIZE_ARB :: GLenum
+gl_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642
+
+gl_VERTEX_PROGRAM_POINT_SIZE_NV :: GLenum
+gl_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642
+
+gl_VERTEX_PROGRAM_POSITION_MESA :: GLenum
+gl_VERTEX_PROGRAM_POSITION_MESA = 0x8BB4
+
+gl_VERTEX_PROGRAM_TWO_SIDE :: GLenum
+gl_VERTEX_PROGRAM_TWO_SIDE = 0x8643
+
+gl_VERTEX_PROGRAM_TWO_SIDE_ARB :: GLenum
+gl_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643
+
+gl_VERTEX_PROGRAM_TWO_SIDE_NV :: GLenum
+gl_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643
+
+gl_VERTEX_SHADER :: GLenum
+gl_VERTEX_SHADER = 0x8B31
+
+gl_VERTEX_SHADER_ARB :: GLenum
+gl_VERTEX_SHADER_ARB = 0x8B31
+
+gl_VERTEX_SHADER_BINDING_EXT :: GLenum
+gl_VERTEX_SHADER_BINDING_EXT = 0x8781
+
+gl_VERTEX_SHADER_BIT :: GLbitfield
+gl_VERTEX_SHADER_BIT = 0x00000001
+
+gl_VERTEX_SHADER_BIT_EXT :: GLbitfield
+gl_VERTEX_SHADER_BIT_EXT = 0x00000001
+
+gl_VERTEX_SHADER_EXT :: GLenum
+gl_VERTEX_SHADER_EXT = 0x8780
+
+gl_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
+gl_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF
+
+gl_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
+gl_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1
+
+gl_VERTEX_SHADER_INVOCATIONS_ARB :: GLenum
+gl_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0
+
+gl_VERTEX_SHADER_LOCALS_EXT :: GLenum
+gl_VERTEX_SHADER_LOCALS_EXT = 0x87D3
+
+gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
+gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2
+
+gl_VERTEX_SHADER_OPTIMIZED_EXT :: GLenum
+gl_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4
+
+gl_VERTEX_SHADER_VARIANTS_EXT :: GLenum
+gl_VERTEX_SHADER_VARIANTS_EXT = 0x87D0
+
+gl_VERTEX_SOURCE_ATI :: GLenum
+gl_VERTEX_SOURCE_ATI = 0x8774
+
+gl_VERTEX_STATE_PROGRAM_NV :: GLenum
+gl_VERTEX_STATE_PROGRAM_NV = 0x8621
+
+gl_VERTEX_STREAM0_ATI :: GLenum
+gl_VERTEX_STREAM0_ATI = 0x876C
+
+gl_VERTEX_STREAM1_ATI :: GLenum
+gl_VERTEX_STREAM1_ATI = 0x876D
+
+gl_VERTEX_STREAM2_ATI :: GLenum
+gl_VERTEX_STREAM2_ATI = 0x876E
+
+gl_VERTEX_STREAM3_ATI :: GLenum
+gl_VERTEX_STREAM3_ATI = 0x876F
+
+gl_VERTEX_STREAM4_ATI :: GLenum
+gl_VERTEX_STREAM4_ATI = 0x8770
+
+gl_VERTEX_STREAM5_ATI :: GLenum
+gl_VERTEX_STREAM5_ATI = 0x8771
+
+gl_VERTEX_STREAM6_ATI :: GLenum
+gl_VERTEX_STREAM6_ATI = 0x8772
+
+gl_VERTEX_STREAM7_ATI :: GLenum
+gl_VERTEX_STREAM7_ATI = 0x8773
+
+gl_VERTEX_SUBROUTINE :: GLenum
+gl_VERTEX_SUBROUTINE = 0x92E8
+
+gl_VERTEX_SUBROUTINE_UNIFORM :: GLenum
+gl_VERTEX_SUBROUTINE_UNIFORM = 0x92EE
+
+gl_VERTEX_TEXTURE :: GLenum
+gl_VERTEX_TEXTURE = 0x829B
+
+gl_VERTEX_WEIGHTING_EXT :: GLenum
+gl_VERTEX_WEIGHTING_EXT = 0x8509
+
+gl_VERTEX_WEIGHT_ARRAY_EXT :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_EXT = 0x850C
+
+gl_VERTEX_WEIGHT_ARRAY_POINTER_EXT :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510
+
+gl_VERTEX_WEIGHT_ARRAY_SIZE_EXT :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D
+
+gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXT :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F
+
+gl_VERTEX_WEIGHT_ARRAY_TYPE_EXT :: GLenum
+gl_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E
+
+gl_VERTICAL_LINE_TO_NV :: GLubyte
+gl_VERTICAL_LINE_TO_NV = 0x08
+
+gl_VERTICES_SUBMITTED_ARB :: GLenum
+gl_VERTICES_SUBMITTED_ARB = 0x82EE
+
+gl_VIBRANCE_BIAS_NV :: GLenum
+gl_VIBRANCE_BIAS_NV = 0x8719
+
+gl_VIBRANCE_SCALE_NV :: GLenum
+gl_VIBRANCE_SCALE_NV = 0x8713
+
+gl_VIDEO_BUFFER_BINDING_NV :: GLenum
+gl_VIDEO_BUFFER_BINDING_NV = 0x9021
+
+gl_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: GLenum
+gl_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D
+
+gl_VIDEO_BUFFER_NV :: GLenum
+gl_VIDEO_BUFFER_NV = 0x9020
+
+gl_VIDEO_BUFFER_PITCH_NV :: GLenum
+gl_VIDEO_BUFFER_PITCH_NV = 0x9028
+
+gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: GLenum
+gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B
+
+gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: GLenum
+gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A
+
+gl_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: GLenum
+gl_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039
+
+gl_VIDEO_CAPTURE_FRAME_WIDTH_NV :: GLenum
+gl_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038
+
+gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: GLenum
+gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C
+
+gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: GLenum
+gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026
+
+gl_VIDEO_COLOR_CONVERSION_MATRIX_NV :: GLenum
+gl_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029
+
+gl_VIDEO_COLOR_CONVERSION_MAX_NV :: GLenum
+gl_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A
+
+gl_VIDEO_COLOR_CONVERSION_MIN_NV :: GLenum
+gl_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B
+
+gl_VIDEO_COLOR_CONVERSION_OFFSET_NV :: GLenum
+gl_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C
+
+gl_VIEWPORT :: GLenum
+gl_VIEWPORT = 0x0BA2
+
+gl_VIEWPORT_BIT :: GLbitfield
+gl_VIEWPORT_BIT = 0x00000800
+
+gl_VIEWPORT_BOUNDS_RANGE :: GLenum
+gl_VIEWPORT_BOUNDS_RANGE = 0x825D
+
+gl_VIEWPORT_BOUNDS_RANGE_EXT :: GLenum
+gl_VIEWPORT_BOUNDS_RANGE_EXT = 0x825D
+
+gl_VIEWPORT_BOUNDS_RANGE_NV :: GLenum
+gl_VIEWPORT_BOUNDS_RANGE_NV = 0x825D
+
+gl_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
+gl_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F
+
+gl_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT :: GLenum
+gl_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT = 0x825F
+
+gl_VIEWPORT_INDEX_PROVOKING_VERTEX_NV :: GLenum
+gl_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = 0x825F
+
+gl_VIEWPORT_SUBPIXEL_BITS :: GLenum
+gl_VIEWPORT_SUBPIXEL_BITS = 0x825C
+
+gl_VIEWPORT_SUBPIXEL_BITS_EXT :: GLenum
+gl_VIEWPORT_SUBPIXEL_BITS_EXT = 0x825C
+
+gl_VIEWPORT_SUBPIXEL_BITS_NV :: GLenum
+gl_VIEWPORT_SUBPIXEL_BITS_NV = 0x825C
+
+gl_VIEW_CLASS_128_BITS :: GLenum
+gl_VIEW_CLASS_128_BITS = 0x82C4
+
+gl_VIEW_CLASS_16_BITS :: GLenum
+gl_VIEW_CLASS_16_BITS = 0x82CA
+
+gl_VIEW_CLASS_24_BITS :: GLenum
+gl_VIEW_CLASS_24_BITS = 0x82C9
+
+gl_VIEW_CLASS_32_BITS :: GLenum
+gl_VIEW_CLASS_32_BITS = 0x82C8
+
+gl_VIEW_CLASS_48_BITS :: GLenum
+gl_VIEW_CLASS_48_BITS = 0x82C7
+
+gl_VIEW_CLASS_64_BITS :: GLenum
+gl_VIEW_CLASS_64_BITS = 0x82C6
+
+gl_VIEW_CLASS_8_BITS :: GLenum
+gl_VIEW_CLASS_8_BITS = 0x82CB
+
+gl_VIEW_CLASS_96_BITS :: GLenum
+gl_VIEW_CLASS_96_BITS = 0x82C5
+
+gl_VIEW_CLASS_BPTC_FLOAT :: GLenum
+gl_VIEW_CLASS_BPTC_FLOAT = 0x82D3
+
+gl_VIEW_CLASS_BPTC_UNORM :: GLenum
+gl_VIEW_CLASS_BPTC_UNORM = 0x82D2
+
+gl_VIEW_CLASS_RGTC1_RED :: GLenum
+gl_VIEW_CLASS_RGTC1_RED = 0x82D0
+
+gl_VIEW_CLASS_RGTC2_RG :: GLenum
+gl_VIEW_CLASS_RGTC2_RG = 0x82D1
+
+gl_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
+gl_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC
+
+gl_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
+gl_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD
+
+gl_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
+gl_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE
+
+gl_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
+gl_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF
+
+gl_VIEW_COMPATIBILITY_CLASS :: GLenum
+gl_VIEW_COMPATIBILITY_CLASS = 0x82B6
+
+gl_VIRTUAL_PAGE_SIZE_INDEX_ARB :: GLenum
+gl_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7
+
+gl_VIRTUAL_PAGE_SIZE_X_AMD :: GLenum
+gl_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195
+
+gl_VIRTUAL_PAGE_SIZE_X_ARB :: GLenum
+gl_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195
+
+gl_VIRTUAL_PAGE_SIZE_Y_AMD :: GLenum
+gl_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196
+
+gl_VIRTUAL_PAGE_SIZE_Y_ARB :: GLenum
+gl_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196
+
+gl_VIRTUAL_PAGE_SIZE_Z_AMD :: GLenum
+gl_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197
+
+gl_VIRTUAL_PAGE_SIZE_Z_ARB :: GLenum
+gl_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197
+
+gl_VIVIDLIGHT_NV :: GLenum
+gl_VIVIDLIGHT_NV = 0x92A6
+
+gl_VOLATILE_APPLE :: GLenum
+gl_VOLATILE_APPLE = 0x8A1A
+
+gl_WAIT_FAILED :: GLenum
+gl_WAIT_FAILED = 0x911D
+
+gl_WAIT_FAILED_APPLE :: GLenum
+gl_WAIT_FAILED_APPLE = 0x911D
+
+gl_WARPS_PER_SM_NV :: GLenum
+gl_WARPS_PER_SM_NV = 0x933A
+
+gl_WARP_SIZE_NV :: GLenum
+gl_WARP_SIZE_NV = 0x9339
+
+gl_WEIGHT_ARRAY_ARB :: GLenum
+gl_WEIGHT_ARRAY_ARB = 0x86AD
+
+gl_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
+gl_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E
+
+gl_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: GLenum
+gl_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E
+
+gl_WEIGHT_ARRAY_BUFFER_BINDING_OES :: GLenum
+gl_WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E
+
+gl_WEIGHT_ARRAY_OES :: GLenum
+gl_WEIGHT_ARRAY_OES = 0x86AD
+
+gl_WEIGHT_ARRAY_POINTER_ARB :: GLenum
+gl_WEIGHT_ARRAY_POINTER_ARB = 0x86AC
+
+gl_WEIGHT_ARRAY_POINTER_OES :: GLenum
+gl_WEIGHT_ARRAY_POINTER_OES = 0x86AC
+
+gl_WEIGHT_ARRAY_SIZE_ARB :: GLenum
+gl_WEIGHT_ARRAY_SIZE_ARB = 0x86AB
+
+gl_WEIGHT_ARRAY_SIZE_OES :: GLenum
+gl_WEIGHT_ARRAY_SIZE_OES = 0x86AB
+
+gl_WEIGHT_ARRAY_STRIDE_ARB :: GLenum
+gl_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA
+
+gl_WEIGHT_ARRAY_STRIDE_OES :: GLenum
+gl_WEIGHT_ARRAY_STRIDE_OES = 0x86AA
+
+gl_WEIGHT_ARRAY_TYPE_ARB :: GLenum
+gl_WEIGHT_ARRAY_TYPE_ARB = 0x86A9
+
+gl_WEIGHT_ARRAY_TYPE_OES :: GLenum
+gl_WEIGHT_ARRAY_TYPE_OES = 0x86A9
+
+gl_WEIGHT_SUM_UNITY_ARB :: GLenum
+gl_WEIGHT_SUM_UNITY_ARB = 0x86A6
+
+gl_WIDE_LINE_HINT_PGI :: GLenum
+gl_WIDE_LINE_HINT_PGI = 0x1A222
+
+gl_WRAP_BORDER_SUN :: GLenum
+gl_WRAP_BORDER_SUN = 0x81D4
+
+gl_WRITEONLY_RENDERING_QCOM :: GLenum
+gl_WRITEONLY_RENDERING_QCOM = 0x8823
+
+gl_WRITE_DISCARD_NV :: GLenum
+gl_WRITE_DISCARD_NV = 0x88BE
+
+gl_WRITE_ONLY :: GLenum
+gl_WRITE_ONLY = 0x88B9
+
+gl_WRITE_ONLY_ARB :: GLenum
+gl_WRITE_ONLY_ARB = 0x88B9
+
+gl_WRITE_ONLY_OES :: GLenum
+gl_WRITE_ONLY_OES = 0x88B9
+
+gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
+gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A
+
+gl_WRITE_PIXEL_DATA_RANGE_NV :: GLenum
+gl_WRITE_PIXEL_DATA_RANGE_NV = 0x8878
+
+gl_WRITE_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
+gl_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C
+
+gl_W_EXT :: GLenum
+gl_W_EXT = 0x87D8
+
+gl_XOR :: GLenum
+gl_XOR = 0x1506
+
+gl_XOR_NV :: GLenum
+gl_XOR_NV = 0x1506
+
+gl_X_EXT :: GLenum
+gl_X_EXT = 0x87D5
+
+gl_YCBAYCR8A_4224_NV :: GLenum
+gl_YCBAYCR8A_4224_NV = 0x9032
+
+gl_YCBCR_422_APPLE :: GLenum
+gl_YCBCR_422_APPLE = 0x85B9
+
+gl_YCBCR_MESA :: GLenum
+gl_YCBCR_MESA = 0x8757
+
+gl_YCBYCR8_422_NV :: GLenum
+gl_YCBYCR8_422_NV = 0x9031
+
+gl_YCRCBA_SGIX :: GLenum
+gl_YCRCBA_SGIX = 0x8319
+
+gl_YCRCB_422_SGIX :: GLenum
+gl_YCRCB_422_SGIX = 0x81BB
+
+gl_YCRCB_444_SGIX :: GLenum
+gl_YCRCB_444_SGIX = 0x81BC
+
+gl_YCRCB_SGIX :: GLenum
+gl_YCRCB_SGIX = 0x8318
+
+gl_Y_EXT :: GLenum
+gl_Y_EXT = 0x87D6
+
+gl_Z400_BINARY_AMD :: GLenum
+gl_Z400_BINARY_AMD = 0x8740
+
+gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: GLenum
+gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036
+
+gl_Z4Y12Z4CB12Z4CR12_444_NV :: GLenum
+gl_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037
+
+gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: GLenum
+gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035
+
+gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: GLenum
+gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034
+
+gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: GLenum
+gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033
+
+gl_ZERO :: GLenum
+gl_ZERO = 0
+
+gl_ZERO_EXT :: GLenum
+gl_ZERO_EXT = 0x87DD
+
+gl_ZERO_TO_ONE :: GLenum
+gl_ZERO_TO_ONE = 0x935F
+
+gl_ZOOM_X :: GLenum
+gl_ZOOM_X = 0x0D16
+
+gl_ZOOM_Y :: GLenum
+gl_ZOOM_Y = 0x0D17
+
+gl_Z_EXT :: GLenum
+gl_Z_EXT = 0x87D7
+
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Types.hs b/src/Graphics/Rendering/OpenGL/Raw/Types.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Types.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Types.hs
@@ -1,20 +1,64 @@
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.Types
--- Copyright   :  (c) Sven Panne 2009-2013
+-- Copyright   :  (c) Sven Panne 2009-2015
 -- License     :  BSD3
 --
 -- Maintainer  :  Sven Panne <svenpanne@gmail.com>
 -- Stability   :  stable
 -- Portability :  portable
 --
--- This module corresponds to table 2.2 in section 2.2 (Command Syntax) of the
--- OpenGL 4.4 specs.
+-- All types from the whole OpenGL registry.
 --
 --------------------------------------------------------------------------------
 
-module Graphics.Rendering.OpenGL.Raw.Types where
+module Graphics.Rendering.OpenGL.Raw.Types (
+  -- * Types from OpenGL itself.
+  GLboolean,
+  GLbyte,
+  GLubyte,
+  GLchar,
+  GLshort,
+  GLushort,
+  GLint,
+  GLuint,
+  GLfixed,
+  GLint64,
+  GLuint64,
+  GLsizei,
+  GLenum,
+  GLintptr,
+  GLsizeiptr,
+  GLsync,
+  GLbitfield,
+  GLhalf,
+  GLfloat,
+  GLclampf,
+  GLdouble,
+  GLclampd,
+  GLDEBUGPROC,
+  GLvoid,
 
+  -- * Pre-standard OpenGL types.
+  GLcharARB,
+  GLint64EXT,
+  GLuint64EXT,
+  GLintptrARB,
+  GLsizeiptrARB,
+  GLhalfARB,
+  GLhalfNV,
+  GLDEBUGPROCAMD,
+  GLDEBUGPROCARB,
+  GLDEBUGPROCKHR,
+
+  -- * Types from various extensions.
+  GLclampx,
+  GLhandleARB,
+  GLvdpauSurfaceNV,
+  GLeglImageOES
+) where
+
 import Data.Int
 import Data.Word
 import Foreign.C.Types
@@ -22,7 +66,7 @@
 
 --------------------------------------------------------------------------------
 
--- | 1bit boolean.
+-- | 8bit boolean.
 type GLboolean = CUChar
 
 -- | 8bit signed two\'s complement binary integer.
@@ -46,14 +90,14 @@
 -- | 32bit unsigned binary integer.
 type GLuint = CUInt
 
--- | 32bit signed two\'s complement 16.16 scaled integer (introduced in OpenGL
--- 4.1).
+-- | 32bit signed two\'s complement 16.16 scaled integer.
 type GLfixed = CInt
+-- NOTE: OpenGL ES uses khronos_int32_t for this.
 
--- | 64bit signed two\'s complement binary integer (introduced in OpenGL 3.2).
+-- | 64bit signed two\'s complement binary integer.
 type GLint64 = Int64
 
--- | 64bit unsigned binary integer (introduced in OpenGL 3.2).
+-- | 64bit unsigned binary integer.
 type GLuint64 = Word64
 
 -- | 32bit non-negative binary integer size.
@@ -64,11 +108,13 @@
 
 -- | Pointer-sized signed two\'s complement binary integer.
 type GLintptr = CPtrdiff
+-- NOTE: OpenGL ES uses khronos_intptr_t for this.
 
 -- | Pointer-sized non-negative binary integer size.
 type GLsizeiptr = CPtrdiff
+-- NOTE: OpenGL ES uses khronos_ssize_t for this.
 
--- | Pointer-sized sync object handle (introduced in OpenGL 3.2).
+-- | Pointer-sized sync object handle.
 type GLsync = Ptr ()
 
 -- | 32bit bit field.
@@ -80,11 +126,54 @@
 -- | 32bit floating-point value.
 type GLfloat = CFloat
 
--- | 32bit floating-point value clamped to [0, 1] (no longer used in OpenGL 4.3).
+-- | 32bit floating-point value clamped to [0, 1].
 type GLclampf = CFloat
 
 -- | 64bit floating-point value.
 type GLdouble = CDouble
 
--- | 64bit floating-point value clamped to [0, 1]  (no longer used in OpenGL 4.3).
+-- | 64bit floating-point value clamped to [0, 1].
 type GLclampd = CDouble
+
+-- | Debug callback.
+type GLDEBUGPROC = FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ())
+-- TODO: calling convention, parameter documentation
+
+-- | Not an actual GL type, though used in headers in the past.
+type GLvoid = ()
+
+type GLcharARB = CChar
+
+type GLint64EXT = Int64
+
+type GLuint64EXT = Word64
+
+type GLintptrARB = CPtrdiff
+
+type GLsizeiptrARB = CPtrdiff
+
+type GLhalfARB = CUShort
+
+type GLhalfNV = CUShort
+
+type GLDEBUGPROCAMD = FunPtr(GLuint -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ())
+-- TODO: calling convention, parameter documentation
+
+type GLDEBUGPROCARB = FunPtr(GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ())
+-- TODO: calling convention, parameter documentation
+
+type GLDEBUGPROCKHR = FunPtr(GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ())
+-- TODO: calling convention, parameter documentation
+
+type GLclampx = CInt
+-- NOTE: OpenGL ES uses khronos_int32_t for this.
+
+#if HANDLE_IS_POINTER
+type GLhandleARB = Ptr ()
+#else
+type GLhandleARB = CUInt
+#endif
+
+type GLvdpauSurfaceNV = GLintptr
+
+type GLeglImageOES = Ptr ()
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version10.hs b/src/Graphics/Rendering/OpenGL/Raw/Version10.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version10.hs
@@ -0,0 +1,868 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version10
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version10 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ADD,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_SRC,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLEAR,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_WRITEMASK,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_CONSTANT_ATTENUATION,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RIGHT,
+  gl_S,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SET,
+  gl_SHADE_MODEL,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SMOOTH,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STENCIL,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_SUBPIXEL_BITS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_SHORT,
+  gl_V2F,
+  gl_V3F,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glAlphaFunc,
+  glBegin,
+  glBitmap,
+  glBlendFunc,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glCopyPixels,
+  glCullFace,
+  glDeleteLists,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDisable,
+  glDrawBuffer,
+  glDrawPixels,
+  glEdgeFlag,
+  glEdgeFlagv,
+  glEnable,
+  glEnd,
+  glEndList,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenLists,
+  glGetBooleanv,
+  glGetClipPlane,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPolygonStipple,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glHint,
+  glIndexMask,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glInitNames,
+  glIsEnabled,
+  glIsList,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointSize,
+  glPolygonMode,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopMatrix,
+  glPopName,
+  glPushAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSelectBuffer,
+  glShadeModel,
+  glStencilFunc,
+  glStencilMask,
+  glStencilOp,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTranslated,
+  glTranslatef,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glViewport
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version11.hs b/src/Graphics/Rendering/OpenGL/Raw/Version11.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version11.hs
@@ -0,0 +1,900 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version11
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version11 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ADD,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_SRC,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLEAR,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_WRITEMASK,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_CONSTANT_ATTENUATION,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RIGHT,
+  gl_S,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SET,
+  gl_SHADE_MODEL,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SMOOTH,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STENCIL,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_SUBPIXEL_BITS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_SHORT,
+  gl_V2F,
+  gl_V3F,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glBegin,
+  glBindTexture,
+  glBitmap,
+  glBlendFunc,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glColorPointer,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCullFace,
+  glDeleteLists,
+  glDeleteTextures,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDisable,
+  glDisableClientState,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawElements,
+  glDrawPixels,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnd,
+  glEndList,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenLists,
+  glGenTextures,
+  glGetBooleanv,
+  glGetClipPlane,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsEnabled,
+  glIsList,
+  glIsTexture,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSelectBuffer,
+  glShadeModel,
+  glStencilFunc,
+  glStencilMask,
+  glStencilOp,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTranslated,
+  glTranslatef,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexPointer,
+  glViewport
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version12.hs b/src/Graphics/Rendering/OpenGL/Raw/Version12.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version12.hs
@@ -0,0 +1,945 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version12
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version12 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ADD,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_SRC,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_WRITEMASK,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_CONSTANT_ATTENUATION,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_3D,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RIGHT,
+  gl_S,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADE_MODEL,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STENCIL,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_SUBPIXEL_BITS,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_V2F,
+  gl_V3F,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glBegin,
+  glBindTexture,
+  glBitmap,
+  glBlendFunc,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glColorPointer,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCullFace,
+  glDeleteLists,
+  glDeleteTextures,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDisable,
+  glDisableClientState,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnd,
+  glEndList,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenLists,
+  glGenTextures,
+  glGetBooleanv,
+  glGetClipPlane,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsEnabled,
+  glIsList,
+  glIsTexture,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSelectBuffer,
+  glShadeModel,
+  glStencilFunc,
+  glStencilMask,
+  glStencilOp,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTranslated,
+  glTranslatef,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexPointer,
+  glViewport
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version13.hs b/src/Graphics/Rendering/OpenGL/Raw/Version13.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version13.hs
@@ -0,0 +1,1087 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version13
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version13 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_TEXTURE,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_SRC,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ATTENUATION,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERPOLATE,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RGB_SCALE,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLES,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADE_MODEL,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STENCIL,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_V2F,
+  gl_V3F,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glBegin,
+  glBindTexture,
+  glBitmap,
+  glBlendFunc,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glColorPointer,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCullFace,
+  glDeleteLists,
+  glDeleteTextures,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDisable,
+  glDisableClientState,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnd,
+  glEndList,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenLists,
+  glGenTextures,
+  glGetBooleanv,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsEnabled,
+  glIsList,
+  glIsTexture,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSelectBuffer,
+  glShadeModel,
+  glStencilFunc,
+  glStencilMask,
+  glStencilOp,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTranslated,
+  glTranslatef,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexPointer,
+  glViewport
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version14.hs b/src/Graphics/Rendering/OpenGL/Raw/Version14.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version14.hs
@@ -0,0 +1,1182 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version14
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version14 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_TEXTURE,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERPOLATE,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RGB_SCALE,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLES,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADE_MODEL,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STENCIL,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_V2F,
+  gl_V3F,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glBegin,
+  glBindTexture,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glColorPointer,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCullFace,
+  glDeleteLists,
+  glDeleteTextures,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDisable,
+  glDisableClientState,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnd,
+  glEndList,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenLists,
+  glGenTextures,
+  glGetBooleanv,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsEnabled,
+  glIsList,
+  glIsTexture,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glStencilFunc,
+  glStencilMask,
+  glStencilOp,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTranslated,
+  glTranslatef,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version15.hs b/src/Graphics/Rendering/OpenGL/Raw/Version15.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version15.hs
@@ -0,0 +1,1253 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version15
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version15 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_TEXTURE,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERPOLATE,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RGB_SCALE,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADE_MODEL,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_V2F,
+  gl_V3F,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glBegin,
+  glBeginQuery,
+  glBindBuffer,
+  glBindTexture,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glColorPointer,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteLists,
+  glDeleteQueries,
+  glDeleteTextures,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDisable,
+  glDisableClientState,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnd,
+  glEndList,
+  glEndQuery,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenLists,
+  glGenQueries,
+  glGenTextures,
+  glGetBooleanv,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsList,
+  glIsQuery,
+  glIsTexture,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glStencilFunc,
+  glStencilMask,
+  glStencilOp,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTranslated,
+  glTranslatef,
+  glUnmapBuffer,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version20.hs b/src/Graphics/Rendering/OpenGL/Raw/Version20.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version20.hs
@@ -0,0 +1,1431 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version20
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version20 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERPOLATE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RGB_SCALE,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginQuery,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindTexture,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteShader,
+  glDeleteTextures,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnd,
+  glEndList,
+  glEndQuery,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenLists,
+  glGenQueries,
+  glGenTextures,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleanv,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsShader,
+  glIsTexture,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniformMatrix2fv,
+  glUniformMatrix3fv,
+  glUniformMatrix4fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribPointer,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Version21.hs b/src/Graphics/Rendering/OpenGL/Raw/Version21.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/Rendering/OpenGL/Raw/Version21.hs
@@ -0,0 +1,1460 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.OpenGL.Raw.Version21
+-- Copyright   :  (c) Sven Panne 2015
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.OpenGL.Raw.Version21 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  gl_2D,
+  gl_2_BYTES,
+  gl_3D,
+  gl_3D_COLOR,
+  gl_3D_COLOR_TEXTURE,
+  gl_3_BYTES,
+  gl_4D_COLOR_TEXTURE,
+  gl_4_BYTES,
+  gl_ACCUM,
+  gl_ACCUM_ALPHA_BITS,
+  gl_ACCUM_BLUE_BITS,
+  gl_ACCUM_BUFFER_BIT,
+  gl_ACCUM_CLEAR_VALUE,
+  gl_ACCUM_GREEN_BITS,
+  gl_ACCUM_RED_BITS,
+  gl_ACTIVE_ATTRIBUTES,
+  gl_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  gl_ACTIVE_TEXTURE,
+  gl_ACTIVE_UNIFORMS,
+  gl_ACTIVE_UNIFORM_MAX_LENGTH,
+  gl_ADD,
+  gl_ADD_SIGNED,
+  gl_ALIASED_LINE_WIDTH_RANGE,
+  gl_ALIASED_POINT_SIZE_RANGE,
+  gl_ALL_ATTRIB_BITS,
+  gl_ALPHA,
+  gl_ALPHA12,
+  gl_ALPHA16,
+  gl_ALPHA4,
+  gl_ALPHA8,
+  gl_ALPHA_BIAS,
+  gl_ALPHA_BITS,
+  gl_ALPHA_SCALE,
+  gl_ALPHA_TEST,
+  gl_ALPHA_TEST_FUNC,
+  gl_ALPHA_TEST_REF,
+  gl_ALWAYS,
+  gl_AMBIENT,
+  gl_AMBIENT_AND_DIFFUSE,
+  gl_AND,
+  gl_AND_INVERTED,
+  gl_AND_REVERSE,
+  gl_ARRAY_BUFFER,
+  gl_ARRAY_BUFFER_BINDING,
+  gl_ATTACHED_SHADERS,
+  gl_ATTRIB_STACK_DEPTH,
+  gl_AUTO_NORMAL,
+  gl_AUX0,
+  gl_AUX1,
+  gl_AUX2,
+  gl_AUX3,
+  gl_AUX_BUFFERS,
+  gl_BACK,
+  gl_BACK_LEFT,
+  gl_BACK_RIGHT,
+  gl_BGR,
+  gl_BGRA,
+  gl_BITMAP,
+  gl_BITMAP_TOKEN,
+  gl_BLEND,
+  gl_BLEND_DST,
+  gl_BLEND_DST_ALPHA,
+  gl_BLEND_DST_RGB,
+  gl_BLEND_EQUATION_ALPHA,
+  gl_BLEND_EQUATION_RGB,
+  gl_BLEND_SRC,
+  gl_BLEND_SRC_ALPHA,
+  gl_BLEND_SRC_RGB,
+  gl_BLUE,
+  gl_BLUE_BIAS,
+  gl_BLUE_BITS,
+  gl_BLUE_SCALE,
+  gl_BOOL,
+  gl_BOOL_VEC2,
+  gl_BOOL_VEC3,
+  gl_BOOL_VEC4,
+  gl_BUFFER_ACCESS,
+  gl_BUFFER_MAPPED,
+  gl_BUFFER_MAP_POINTER,
+  gl_BUFFER_SIZE,
+  gl_BUFFER_USAGE,
+  gl_BYTE,
+  gl_C3F_V3F,
+  gl_C4F_N3F_V3F,
+  gl_C4UB_V2F,
+  gl_C4UB_V3F,
+  gl_CCW,
+  gl_CLAMP,
+  gl_CLAMP_TO_BORDER,
+  gl_CLAMP_TO_EDGE,
+  gl_CLEAR,
+  gl_CLIENT_ACTIVE_TEXTURE,
+  gl_CLIENT_ALL_ATTRIB_BITS,
+  gl_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_CLIENT_PIXEL_STORE_BIT,
+  gl_CLIENT_VERTEX_ARRAY_BIT,
+  gl_CLIP_PLANE0,
+  gl_CLIP_PLANE1,
+  gl_CLIP_PLANE2,
+  gl_CLIP_PLANE3,
+  gl_CLIP_PLANE4,
+  gl_CLIP_PLANE5,
+  gl_COEFF,
+  gl_COLOR,
+  gl_COLOR_ARRAY,
+  gl_COLOR_ARRAY_BUFFER_BINDING,
+  gl_COLOR_ARRAY_POINTER,
+  gl_COLOR_ARRAY_SIZE,
+  gl_COLOR_ARRAY_STRIDE,
+  gl_COLOR_ARRAY_TYPE,
+  gl_COLOR_BUFFER_BIT,
+  gl_COLOR_CLEAR_VALUE,
+  gl_COLOR_INDEX,
+  gl_COLOR_INDEXES,
+  gl_COLOR_LOGIC_OP,
+  gl_COLOR_MATERIAL,
+  gl_COLOR_MATERIAL_FACE,
+  gl_COLOR_MATERIAL_PARAMETER,
+  gl_COLOR_SUM,
+  gl_COLOR_WRITEMASK,
+  gl_COMBINE,
+  gl_COMBINE_ALPHA,
+  gl_COMBINE_RGB,
+  gl_COMPARE_R_TO_TEXTURE,
+  gl_COMPILE,
+  gl_COMPILE_AND_EXECUTE,
+  gl_COMPILE_STATUS,
+  gl_COMPRESSED_ALPHA,
+  gl_COMPRESSED_INTENSITY,
+  gl_COMPRESSED_LUMINANCE,
+  gl_COMPRESSED_LUMINANCE_ALPHA,
+  gl_COMPRESSED_RGB,
+  gl_COMPRESSED_RGBA,
+  gl_COMPRESSED_SLUMINANCE,
+  gl_COMPRESSED_SLUMINANCE_ALPHA,
+  gl_COMPRESSED_SRGB,
+  gl_COMPRESSED_SRGB_ALPHA,
+  gl_COMPRESSED_TEXTURE_FORMATS,
+  gl_CONSTANT,
+  gl_CONSTANT_ALPHA,
+  gl_CONSTANT_ATTENUATION,
+  gl_CONSTANT_COLOR,
+  gl_COORD_REPLACE,
+  gl_COPY,
+  gl_COPY_INVERTED,
+  gl_COPY_PIXEL_TOKEN,
+  gl_CULL_FACE,
+  gl_CULL_FACE_MODE,
+  gl_CURRENT_BIT,
+  gl_CURRENT_COLOR,
+  gl_CURRENT_FOG_COORD,
+  gl_CURRENT_FOG_COORDINATE,
+  gl_CURRENT_INDEX,
+  gl_CURRENT_NORMAL,
+  gl_CURRENT_PROGRAM,
+  gl_CURRENT_QUERY,
+  gl_CURRENT_RASTER_COLOR,
+  gl_CURRENT_RASTER_DISTANCE,
+  gl_CURRENT_RASTER_INDEX,
+  gl_CURRENT_RASTER_POSITION,
+  gl_CURRENT_RASTER_POSITION_VALID,
+  gl_CURRENT_RASTER_SECONDARY_COLOR,
+  gl_CURRENT_RASTER_TEXTURE_COORDS,
+  gl_CURRENT_SECONDARY_COLOR,
+  gl_CURRENT_TEXTURE_COORDS,
+  gl_CURRENT_VERTEX_ATTRIB,
+  gl_CW,
+  gl_DECAL,
+  gl_DECR,
+  gl_DECR_WRAP,
+  gl_DELETE_STATUS,
+  gl_DEPTH,
+  gl_DEPTH_BIAS,
+  gl_DEPTH_BITS,
+  gl_DEPTH_BUFFER_BIT,
+  gl_DEPTH_CLEAR_VALUE,
+  gl_DEPTH_COMPONENT,
+  gl_DEPTH_COMPONENT16,
+  gl_DEPTH_COMPONENT24,
+  gl_DEPTH_COMPONENT32,
+  gl_DEPTH_FUNC,
+  gl_DEPTH_RANGE,
+  gl_DEPTH_SCALE,
+  gl_DEPTH_TEST,
+  gl_DEPTH_TEXTURE_MODE,
+  gl_DEPTH_WRITEMASK,
+  gl_DIFFUSE,
+  gl_DITHER,
+  gl_DOMAIN,
+  gl_DONT_CARE,
+  gl_DOT3_RGB,
+  gl_DOT3_RGBA,
+  gl_DOUBLE,
+  gl_DOUBLEBUFFER,
+  gl_DRAW_BUFFER,
+  gl_DRAW_BUFFER0,
+  gl_DRAW_BUFFER1,
+  gl_DRAW_BUFFER10,
+  gl_DRAW_BUFFER11,
+  gl_DRAW_BUFFER12,
+  gl_DRAW_BUFFER13,
+  gl_DRAW_BUFFER14,
+  gl_DRAW_BUFFER15,
+  gl_DRAW_BUFFER2,
+  gl_DRAW_BUFFER3,
+  gl_DRAW_BUFFER4,
+  gl_DRAW_BUFFER5,
+  gl_DRAW_BUFFER6,
+  gl_DRAW_BUFFER7,
+  gl_DRAW_BUFFER8,
+  gl_DRAW_BUFFER9,
+  gl_DRAW_PIXEL_TOKEN,
+  gl_DST_ALPHA,
+  gl_DST_COLOR,
+  gl_DYNAMIC_COPY,
+  gl_DYNAMIC_DRAW,
+  gl_DYNAMIC_READ,
+  gl_EDGE_FLAG,
+  gl_EDGE_FLAG_ARRAY,
+  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  gl_EDGE_FLAG_ARRAY_POINTER,
+  gl_EDGE_FLAG_ARRAY_STRIDE,
+  gl_ELEMENT_ARRAY_BUFFER,
+  gl_ELEMENT_ARRAY_BUFFER_BINDING,
+  gl_EMISSION,
+  gl_ENABLE_BIT,
+  gl_EQUAL,
+  gl_EQUIV,
+  gl_EVAL_BIT,
+  gl_EXP,
+  gl_EXP2,
+  gl_EXTENSIONS,
+  gl_EYE_LINEAR,
+  gl_EYE_PLANE,
+  gl_FALSE,
+  gl_FASTEST,
+  gl_FEEDBACK,
+  gl_FEEDBACK_BUFFER_POINTER,
+  gl_FEEDBACK_BUFFER_SIZE,
+  gl_FEEDBACK_BUFFER_TYPE,
+  gl_FILL,
+  gl_FLAT,
+  gl_FLOAT,
+  gl_FLOAT_MAT2,
+  gl_FLOAT_MAT2x3,
+  gl_FLOAT_MAT2x4,
+  gl_FLOAT_MAT3,
+  gl_FLOAT_MAT3x2,
+  gl_FLOAT_MAT3x4,
+  gl_FLOAT_MAT4,
+  gl_FLOAT_MAT4x2,
+  gl_FLOAT_MAT4x3,
+  gl_FLOAT_VEC2,
+  gl_FLOAT_VEC3,
+  gl_FLOAT_VEC4,
+  gl_FOG,
+  gl_FOG_BIT,
+  gl_FOG_COLOR,
+  gl_FOG_COORD,
+  gl_FOG_COORDINATE,
+  gl_FOG_COORDINATE_ARRAY,
+  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORDINATE_ARRAY_POINTER,
+  gl_FOG_COORDINATE_ARRAY_STRIDE,
+  gl_FOG_COORDINATE_ARRAY_TYPE,
+  gl_FOG_COORDINATE_SOURCE,
+  gl_FOG_COORD_ARRAY,
+  gl_FOG_COORD_ARRAY_BUFFER_BINDING,
+  gl_FOG_COORD_ARRAY_POINTER,
+  gl_FOG_COORD_ARRAY_STRIDE,
+  gl_FOG_COORD_ARRAY_TYPE,
+  gl_FOG_COORD_SRC,
+  gl_FOG_DENSITY,
+  gl_FOG_END,
+  gl_FOG_HINT,
+  gl_FOG_INDEX,
+  gl_FOG_MODE,
+  gl_FOG_START,
+  gl_FRAGMENT_DEPTH,
+  gl_FRAGMENT_SHADER,
+  gl_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  gl_FRONT,
+  gl_FRONT_AND_BACK,
+  gl_FRONT_FACE,
+  gl_FRONT_LEFT,
+  gl_FRONT_RIGHT,
+  gl_FUNC_ADD,
+  gl_FUNC_REVERSE_SUBTRACT,
+  gl_FUNC_SUBTRACT,
+  gl_GENERATE_MIPMAP,
+  gl_GENERATE_MIPMAP_HINT,
+  gl_GEQUAL,
+  gl_GREATER,
+  gl_GREEN,
+  gl_GREEN_BIAS,
+  gl_GREEN_BITS,
+  gl_GREEN_SCALE,
+  gl_HINT_BIT,
+  gl_INCR,
+  gl_INCR_WRAP,
+  gl_INDEX_ARRAY,
+  gl_INDEX_ARRAY_BUFFER_BINDING,
+  gl_INDEX_ARRAY_POINTER,
+  gl_INDEX_ARRAY_STRIDE,
+  gl_INDEX_ARRAY_TYPE,
+  gl_INDEX_BITS,
+  gl_INDEX_CLEAR_VALUE,
+  gl_INDEX_LOGIC_OP,
+  gl_INDEX_MODE,
+  gl_INDEX_OFFSET,
+  gl_INDEX_SHIFT,
+  gl_INDEX_WRITEMASK,
+  gl_INFO_LOG_LENGTH,
+  gl_INT,
+  gl_INTENSITY,
+  gl_INTENSITY12,
+  gl_INTENSITY16,
+  gl_INTENSITY4,
+  gl_INTENSITY8,
+  gl_INTERPOLATE,
+  gl_INT_VEC2,
+  gl_INT_VEC3,
+  gl_INT_VEC4,
+  gl_INVALID_ENUM,
+  gl_INVALID_OPERATION,
+  gl_INVALID_VALUE,
+  gl_INVERT,
+  gl_KEEP,
+  gl_LEFT,
+  gl_LEQUAL,
+  gl_LESS,
+  gl_LIGHT0,
+  gl_LIGHT1,
+  gl_LIGHT2,
+  gl_LIGHT3,
+  gl_LIGHT4,
+  gl_LIGHT5,
+  gl_LIGHT6,
+  gl_LIGHT7,
+  gl_LIGHTING,
+  gl_LIGHTING_BIT,
+  gl_LIGHT_MODEL_AMBIENT,
+  gl_LIGHT_MODEL_COLOR_CONTROL,
+  gl_LIGHT_MODEL_LOCAL_VIEWER,
+  gl_LIGHT_MODEL_TWO_SIDE,
+  gl_LINE,
+  gl_LINEAR,
+  gl_LINEAR_ATTENUATION,
+  gl_LINEAR_MIPMAP_LINEAR,
+  gl_LINEAR_MIPMAP_NEAREST,
+  gl_LINES,
+  gl_LINE_BIT,
+  gl_LINE_LOOP,
+  gl_LINE_RESET_TOKEN,
+  gl_LINE_SMOOTH,
+  gl_LINE_SMOOTH_HINT,
+  gl_LINE_STIPPLE,
+  gl_LINE_STIPPLE_PATTERN,
+  gl_LINE_STIPPLE_REPEAT,
+  gl_LINE_STRIP,
+  gl_LINE_TOKEN,
+  gl_LINE_WIDTH,
+  gl_LINE_WIDTH_GRANULARITY,
+  gl_LINE_WIDTH_RANGE,
+  gl_LINK_STATUS,
+  gl_LIST_BASE,
+  gl_LIST_BIT,
+  gl_LIST_INDEX,
+  gl_LIST_MODE,
+  gl_LOAD,
+  gl_LOGIC_OP,
+  gl_LOGIC_OP_MODE,
+  gl_LOWER_LEFT,
+  gl_LUMINANCE,
+  gl_LUMINANCE12,
+  gl_LUMINANCE12_ALPHA12,
+  gl_LUMINANCE12_ALPHA4,
+  gl_LUMINANCE16,
+  gl_LUMINANCE16_ALPHA16,
+  gl_LUMINANCE4,
+  gl_LUMINANCE4_ALPHA4,
+  gl_LUMINANCE6_ALPHA2,
+  gl_LUMINANCE8,
+  gl_LUMINANCE8_ALPHA8,
+  gl_LUMINANCE_ALPHA,
+  gl_MAP1_COLOR_4,
+  gl_MAP1_GRID_DOMAIN,
+  gl_MAP1_GRID_SEGMENTS,
+  gl_MAP1_INDEX,
+  gl_MAP1_NORMAL,
+  gl_MAP1_TEXTURE_COORD_1,
+  gl_MAP1_TEXTURE_COORD_2,
+  gl_MAP1_TEXTURE_COORD_3,
+  gl_MAP1_TEXTURE_COORD_4,
+  gl_MAP1_VERTEX_3,
+  gl_MAP1_VERTEX_4,
+  gl_MAP2_COLOR_4,
+  gl_MAP2_GRID_DOMAIN,
+  gl_MAP2_GRID_SEGMENTS,
+  gl_MAP2_INDEX,
+  gl_MAP2_NORMAL,
+  gl_MAP2_TEXTURE_COORD_1,
+  gl_MAP2_TEXTURE_COORD_2,
+  gl_MAP2_TEXTURE_COORD_3,
+  gl_MAP2_TEXTURE_COORD_4,
+  gl_MAP2_VERTEX_3,
+  gl_MAP2_VERTEX_4,
+  gl_MAP_COLOR,
+  gl_MAP_STENCIL,
+  gl_MATRIX_MODE,
+  gl_MAX,
+  gl_MAX_3D_TEXTURE_SIZE,
+  gl_MAX_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  gl_MAX_CLIP_PLANES,
+  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  gl_MAX_CUBE_MAP_TEXTURE_SIZE,
+  gl_MAX_DRAW_BUFFERS,
+  gl_MAX_ELEMENTS_INDICES,
+  gl_MAX_ELEMENTS_VERTICES,
+  gl_MAX_EVAL_ORDER,
+  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  gl_MAX_LIGHTS,
+  gl_MAX_LIST_NESTING,
+  gl_MAX_MODELVIEW_STACK_DEPTH,
+  gl_MAX_NAME_STACK_DEPTH,
+  gl_MAX_PIXEL_MAP_TABLE,
+  gl_MAX_PROJECTION_STACK_DEPTH,
+  gl_MAX_TEXTURE_COORDS,
+  gl_MAX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_TEXTURE_LOD_BIAS,
+  gl_MAX_TEXTURE_SIZE,
+  gl_MAX_TEXTURE_STACK_DEPTH,
+  gl_MAX_TEXTURE_UNITS,
+  gl_MAX_VARYING_FLOATS,
+  gl_MAX_VERTEX_ATTRIBS,
+  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  gl_MAX_VERTEX_UNIFORM_COMPONENTS,
+  gl_MAX_VIEWPORT_DIMS,
+  gl_MIN,
+  gl_MIRRORED_REPEAT,
+  gl_MODELVIEW,
+  gl_MODELVIEW_MATRIX,
+  gl_MODELVIEW_STACK_DEPTH,
+  gl_MODULATE,
+  gl_MULT,
+  gl_MULTISAMPLE,
+  gl_MULTISAMPLE_BIT,
+  gl_N3F_V3F,
+  gl_NAME_STACK_DEPTH,
+  gl_NAND,
+  gl_NEAREST,
+  gl_NEAREST_MIPMAP_LINEAR,
+  gl_NEAREST_MIPMAP_NEAREST,
+  gl_NEVER,
+  gl_NICEST,
+  gl_NONE,
+  gl_NOOP,
+  gl_NOR,
+  gl_NORMALIZE,
+  gl_NORMAL_ARRAY,
+  gl_NORMAL_ARRAY_BUFFER_BINDING,
+  gl_NORMAL_ARRAY_POINTER,
+  gl_NORMAL_ARRAY_STRIDE,
+  gl_NORMAL_ARRAY_TYPE,
+  gl_NORMAL_MAP,
+  gl_NOTEQUAL,
+  gl_NO_ERROR,
+  gl_NUM_COMPRESSED_TEXTURE_FORMATS,
+  gl_OBJECT_LINEAR,
+  gl_OBJECT_PLANE,
+  gl_ONE,
+  gl_ONE_MINUS_CONSTANT_ALPHA,
+  gl_ONE_MINUS_CONSTANT_COLOR,
+  gl_ONE_MINUS_DST_ALPHA,
+  gl_ONE_MINUS_DST_COLOR,
+  gl_ONE_MINUS_SRC_ALPHA,
+  gl_ONE_MINUS_SRC_COLOR,
+  gl_OPERAND0_ALPHA,
+  gl_OPERAND0_RGB,
+  gl_OPERAND1_ALPHA,
+  gl_OPERAND1_RGB,
+  gl_OPERAND2_ALPHA,
+  gl_OPERAND2_RGB,
+  gl_OR,
+  gl_ORDER,
+  gl_OR_INVERTED,
+  gl_OR_REVERSE,
+  gl_OUT_OF_MEMORY,
+  gl_PACK_ALIGNMENT,
+  gl_PACK_IMAGE_HEIGHT,
+  gl_PACK_LSB_FIRST,
+  gl_PACK_ROW_LENGTH,
+  gl_PACK_SKIP_IMAGES,
+  gl_PACK_SKIP_PIXELS,
+  gl_PACK_SKIP_ROWS,
+  gl_PACK_SWAP_BYTES,
+  gl_PASS_THROUGH_TOKEN,
+  gl_PERSPECTIVE_CORRECTION_HINT,
+  gl_PIXEL_MAP_A_TO_A,
+  gl_PIXEL_MAP_A_TO_A_SIZE,
+  gl_PIXEL_MAP_B_TO_B,
+  gl_PIXEL_MAP_B_TO_B_SIZE,
+  gl_PIXEL_MAP_G_TO_G,
+  gl_PIXEL_MAP_G_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_A,
+  gl_PIXEL_MAP_I_TO_A_SIZE,
+  gl_PIXEL_MAP_I_TO_B,
+  gl_PIXEL_MAP_I_TO_B_SIZE,
+  gl_PIXEL_MAP_I_TO_G,
+  gl_PIXEL_MAP_I_TO_G_SIZE,
+  gl_PIXEL_MAP_I_TO_I,
+  gl_PIXEL_MAP_I_TO_I_SIZE,
+  gl_PIXEL_MAP_I_TO_R,
+  gl_PIXEL_MAP_I_TO_R_SIZE,
+  gl_PIXEL_MAP_R_TO_R,
+  gl_PIXEL_MAP_R_TO_R_SIZE,
+  gl_PIXEL_MAP_S_TO_S,
+  gl_PIXEL_MAP_S_TO_S_SIZE,
+  gl_PIXEL_MODE_BIT,
+  gl_PIXEL_PACK_BUFFER,
+  gl_PIXEL_PACK_BUFFER_BINDING,
+  gl_PIXEL_UNPACK_BUFFER,
+  gl_PIXEL_UNPACK_BUFFER_BINDING,
+  gl_POINT,
+  gl_POINTS,
+  gl_POINT_BIT,
+  gl_POINT_DISTANCE_ATTENUATION,
+  gl_POINT_FADE_THRESHOLD_SIZE,
+  gl_POINT_SIZE,
+  gl_POINT_SIZE_GRANULARITY,
+  gl_POINT_SIZE_MAX,
+  gl_POINT_SIZE_MIN,
+  gl_POINT_SIZE_RANGE,
+  gl_POINT_SMOOTH,
+  gl_POINT_SMOOTH_HINT,
+  gl_POINT_SPRITE,
+  gl_POINT_SPRITE_COORD_ORIGIN,
+  gl_POINT_TOKEN,
+  gl_POLYGON,
+  gl_POLYGON_BIT,
+  gl_POLYGON_MODE,
+  gl_POLYGON_OFFSET_FACTOR,
+  gl_POLYGON_OFFSET_FILL,
+  gl_POLYGON_OFFSET_LINE,
+  gl_POLYGON_OFFSET_POINT,
+  gl_POLYGON_OFFSET_UNITS,
+  gl_POLYGON_SMOOTH,
+  gl_POLYGON_SMOOTH_HINT,
+  gl_POLYGON_STIPPLE,
+  gl_POLYGON_STIPPLE_BIT,
+  gl_POLYGON_TOKEN,
+  gl_POSITION,
+  gl_PREVIOUS,
+  gl_PRIMARY_COLOR,
+  gl_PROJECTION,
+  gl_PROJECTION_MATRIX,
+  gl_PROJECTION_STACK_DEPTH,
+  gl_PROXY_TEXTURE_1D,
+  gl_PROXY_TEXTURE_2D,
+  gl_PROXY_TEXTURE_3D,
+  gl_PROXY_TEXTURE_CUBE_MAP,
+  gl_Q,
+  gl_QUADRATIC_ATTENUATION,
+  gl_QUADS,
+  gl_QUAD_STRIP,
+  gl_QUERY_COUNTER_BITS,
+  gl_QUERY_RESULT,
+  gl_QUERY_RESULT_AVAILABLE,
+  gl_R,
+  gl_R3_G3_B2,
+  gl_READ_BUFFER,
+  gl_READ_ONLY,
+  gl_READ_WRITE,
+  gl_RED,
+  gl_RED_BIAS,
+  gl_RED_BITS,
+  gl_RED_SCALE,
+  gl_REFLECTION_MAP,
+  gl_RENDER,
+  gl_RENDERER,
+  gl_RENDER_MODE,
+  gl_REPEAT,
+  gl_REPLACE,
+  gl_RESCALE_NORMAL,
+  gl_RETURN,
+  gl_RGB,
+  gl_RGB10,
+  gl_RGB10_A2,
+  gl_RGB12,
+  gl_RGB16,
+  gl_RGB4,
+  gl_RGB5,
+  gl_RGB5_A1,
+  gl_RGB8,
+  gl_RGBA,
+  gl_RGBA12,
+  gl_RGBA16,
+  gl_RGBA2,
+  gl_RGBA4,
+  gl_RGBA8,
+  gl_RGBA_MODE,
+  gl_RGB_SCALE,
+  gl_RIGHT,
+  gl_S,
+  gl_SAMPLER_1D,
+  gl_SAMPLER_1D_SHADOW,
+  gl_SAMPLER_2D,
+  gl_SAMPLER_2D_SHADOW,
+  gl_SAMPLER_3D,
+  gl_SAMPLER_CUBE,
+  gl_SAMPLES,
+  gl_SAMPLES_PASSED,
+  gl_SAMPLE_ALPHA_TO_COVERAGE,
+  gl_SAMPLE_ALPHA_TO_ONE,
+  gl_SAMPLE_BUFFERS,
+  gl_SAMPLE_COVERAGE,
+  gl_SAMPLE_COVERAGE_INVERT,
+  gl_SAMPLE_COVERAGE_VALUE,
+  gl_SCISSOR_BIT,
+  gl_SCISSOR_BOX,
+  gl_SCISSOR_TEST,
+  gl_SECONDARY_COLOR_ARRAY,
+  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  gl_SECONDARY_COLOR_ARRAY_POINTER,
+  gl_SECONDARY_COLOR_ARRAY_SIZE,
+  gl_SECONDARY_COLOR_ARRAY_STRIDE,
+  gl_SECONDARY_COLOR_ARRAY_TYPE,
+  gl_SELECT,
+  gl_SELECTION_BUFFER_POINTER,
+  gl_SELECTION_BUFFER_SIZE,
+  gl_SEPARATE_SPECULAR_COLOR,
+  gl_SET,
+  gl_SHADER_SOURCE_LENGTH,
+  gl_SHADER_TYPE,
+  gl_SHADE_MODEL,
+  gl_SHADING_LANGUAGE_VERSION,
+  gl_SHININESS,
+  gl_SHORT,
+  gl_SINGLE_COLOR,
+  gl_SLUMINANCE,
+  gl_SLUMINANCE8,
+  gl_SLUMINANCE8_ALPHA8,
+  gl_SLUMINANCE_ALPHA,
+  gl_SMOOTH,
+  gl_SMOOTH_LINE_WIDTH_GRANULARITY,
+  gl_SMOOTH_LINE_WIDTH_RANGE,
+  gl_SMOOTH_POINT_SIZE_GRANULARITY,
+  gl_SMOOTH_POINT_SIZE_RANGE,
+  gl_SOURCE0_ALPHA,
+  gl_SOURCE0_RGB,
+  gl_SOURCE1_ALPHA,
+  gl_SOURCE1_RGB,
+  gl_SOURCE2_ALPHA,
+  gl_SOURCE2_RGB,
+  gl_SPECULAR,
+  gl_SPHERE_MAP,
+  gl_SPOT_CUTOFF,
+  gl_SPOT_DIRECTION,
+  gl_SPOT_EXPONENT,
+  gl_SRC0_ALPHA,
+  gl_SRC0_RGB,
+  gl_SRC1_ALPHA,
+  gl_SRC1_RGB,
+  gl_SRC2_ALPHA,
+  gl_SRC2_RGB,
+  gl_SRC_ALPHA,
+  gl_SRC_ALPHA_SATURATE,
+  gl_SRC_COLOR,
+  gl_SRGB,
+  gl_SRGB8,
+  gl_SRGB8_ALPHA8,
+  gl_SRGB_ALPHA,
+  gl_STACK_OVERFLOW,
+  gl_STACK_UNDERFLOW,
+  gl_STATIC_COPY,
+  gl_STATIC_DRAW,
+  gl_STATIC_READ,
+  gl_STENCIL,
+  gl_STENCIL_BACK_FAIL,
+  gl_STENCIL_BACK_FUNC,
+  gl_STENCIL_BACK_PASS_DEPTH_FAIL,
+  gl_STENCIL_BACK_PASS_DEPTH_PASS,
+  gl_STENCIL_BACK_REF,
+  gl_STENCIL_BACK_VALUE_MASK,
+  gl_STENCIL_BACK_WRITEMASK,
+  gl_STENCIL_BITS,
+  gl_STENCIL_BUFFER_BIT,
+  gl_STENCIL_CLEAR_VALUE,
+  gl_STENCIL_FAIL,
+  gl_STENCIL_FUNC,
+  gl_STENCIL_INDEX,
+  gl_STENCIL_PASS_DEPTH_FAIL,
+  gl_STENCIL_PASS_DEPTH_PASS,
+  gl_STENCIL_REF,
+  gl_STENCIL_TEST,
+  gl_STENCIL_VALUE_MASK,
+  gl_STENCIL_WRITEMASK,
+  gl_STEREO,
+  gl_STREAM_COPY,
+  gl_STREAM_DRAW,
+  gl_STREAM_READ,
+  gl_SUBPIXEL_BITS,
+  gl_SUBTRACT,
+  gl_T,
+  gl_T2F_C3F_V3F,
+  gl_T2F_C4F_N3F_V3F,
+  gl_T2F_C4UB_V3F,
+  gl_T2F_N3F_V3F,
+  gl_T2F_V3F,
+  gl_T4F_C4F_N3F_V4F,
+  gl_T4F_V4F,
+  gl_TEXTURE,
+  gl_TEXTURE0,
+  gl_TEXTURE1,
+  gl_TEXTURE10,
+  gl_TEXTURE11,
+  gl_TEXTURE12,
+  gl_TEXTURE13,
+  gl_TEXTURE14,
+  gl_TEXTURE15,
+  gl_TEXTURE16,
+  gl_TEXTURE17,
+  gl_TEXTURE18,
+  gl_TEXTURE19,
+  gl_TEXTURE2,
+  gl_TEXTURE20,
+  gl_TEXTURE21,
+  gl_TEXTURE22,
+  gl_TEXTURE23,
+  gl_TEXTURE24,
+  gl_TEXTURE25,
+  gl_TEXTURE26,
+  gl_TEXTURE27,
+  gl_TEXTURE28,
+  gl_TEXTURE29,
+  gl_TEXTURE3,
+  gl_TEXTURE30,
+  gl_TEXTURE31,
+  gl_TEXTURE4,
+  gl_TEXTURE5,
+  gl_TEXTURE6,
+  gl_TEXTURE7,
+  gl_TEXTURE8,
+  gl_TEXTURE9,
+  gl_TEXTURE_1D,
+  gl_TEXTURE_2D,
+  gl_TEXTURE_3D,
+  gl_TEXTURE_ALPHA_SIZE,
+  gl_TEXTURE_BASE_LEVEL,
+  gl_TEXTURE_BINDING_1D,
+  gl_TEXTURE_BINDING_2D,
+  gl_TEXTURE_BINDING_3D,
+  gl_TEXTURE_BINDING_CUBE_MAP,
+  gl_TEXTURE_BIT,
+  gl_TEXTURE_BLUE_SIZE,
+  gl_TEXTURE_BORDER,
+  gl_TEXTURE_BORDER_COLOR,
+  gl_TEXTURE_COMPARE_FUNC,
+  gl_TEXTURE_COMPARE_MODE,
+  gl_TEXTURE_COMPONENTS,
+  gl_TEXTURE_COMPRESSED,
+  gl_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  gl_TEXTURE_COMPRESSION_HINT,
+  gl_TEXTURE_COORD_ARRAY,
+  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  gl_TEXTURE_COORD_ARRAY_POINTER,
+  gl_TEXTURE_COORD_ARRAY_SIZE,
+  gl_TEXTURE_COORD_ARRAY_STRIDE,
+  gl_TEXTURE_COORD_ARRAY_TYPE,
+  gl_TEXTURE_CUBE_MAP,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_X,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  gl_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  gl_TEXTURE_DEPTH,
+  gl_TEXTURE_DEPTH_SIZE,
+  gl_TEXTURE_ENV,
+  gl_TEXTURE_ENV_COLOR,
+  gl_TEXTURE_ENV_MODE,
+  gl_TEXTURE_FILTER_CONTROL,
+  gl_TEXTURE_GEN_MODE,
+  gl_TEXTURE_GEN_Q,
+  gl_TEXTURE_GEN_R,
+  gl_TEXTURE_GEN_S,
+  gl_TEXTURE_GEN_T,
+  gl_TEXTURE_GREEN_SIZE,
+  gl_TEXTURE_HEIGHT,
+  gl_TEXTURE_INTENSITY_SIZE,
+  gl_TEXTURE_INTERNAL_FORMAT,
+  gl_TEXTURE_LOD_BIAS,
+  gl_TEXTURE_LUMINANCE_SIZE,
+  gl_TEXTURE_MAG_FILTER,
+  gl_TEXTURE_MATRIX,
+  gl_TEXTURE_MAX_LEVEL,
+  gl_TEXTURE_MAX_LOD,
+  gl_TEXTURE_MIN_FILTER,
+  gl_TEXTURE_MIN_LOD,
+  gl_TEXTURE_PRIORITY,
+  gl_TEXTURE_RED_SIZE,
+  gl_TEXTURE_RESIDENT,
+  gl_TEXTURE_STACK_DEPTH,
+  gl_TEXTURE_WIDTH,
+  gl_TEXTURE_WRAP_R,
+  gl_TEXTURE_WRAP_S,
+  gl_TEXTURE_WRAP_T,
+  gl_TRANSFORM_BIT,
+  gl_TRANSPOSE_COLOR_MATRIX,
+  gl_TRANSPOSE_MODELVIEW_MATRIX,
+  gl_TRANSPOSE_PROJECTION_MATRIX,
+  gl_TRANSPOSE_TEXTURE_MATRIX,
+  gl_TRIANGLES,
+  gl_TRIANGLE_FAN,
+  gl_TRIANGLE_STRIP,
+  gl_TRUE,
+  gl_UNPACK_ALIGNMENT,
+  gl_UNPACK_IMAGE_HEIGHT,
+  gl_UNPACK_LSB_FIRST,
+  gl_UNPACK_ROW_LENGTH,
+  gl_UNPACK_SKIP_IMAGES,
+  gl_UNPACK_SKIP_PIXELS,
+  gl_UNPACK_SKIP_ROWS,
+  gl_UNPACK_SWAP_BYTES,
+  gl_UNSIGNED_BYTE,
+  gl_UNSIGNED_BYTE_2_3_3_REV,
+  gl_UNSIGNED_BYTE_3_3_2,
+  gl_UNSIGNED_INT,
+  gl_UNSIGNED_INT_10_10_10_2,
+  gl_UNSIGNED_INT_2_10_10_10_REV,
+  gl_UNSIGNED_INT_8_8_8_8,
+  gl_UNSIGNED_INT_8_8_8_8_REV,
+  gl_UNSIGNED_SHORT,
+  gl_UNSIGNED_SHORT_1_5_5_5_REV,
+  gl_UNSIGNED_SHORT_4_4_4_4,
+  gl_UNSIGNED_SHORT_4_4_4_4_REV,
+  gl_UNSIGNED_SHORT_5_5_5_1,
+  gl_UNSIGNED_SHORT_5_6_5,
+  gl_UNSIGNED_SHORT_5_6_5_REV,
+  gl_UPPER_LEFT,
+  gl_V2F,
+  gl_V3F,
+  gl_VALIDATE_STATUS,
+  gl_VENDOR,
+  gl_VERSION,
+  gl_VERTEX_ARRAY,
+  gl_VERTEX_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ARRAY_POINTER,
+  gl_VERTEX_ARRAY_SIZE,
+  gl_VERTEX_ARRAY_STRIDE,
+  gl_VERTEX_ARRAY_TYPE,
+  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  gl_VERTEX_ATTRIB_ARRAY_ENABLED,
+  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  gl_VERTEX_ATTRIB_ARRAY_POINTER,
+  gl_VERTEX_ATTRIB_ARRAY_SIZE,
+  gl_VERTEX_ATTRIB_ARRAY_STRIDE,
+  gl_VERTEX_ATTRIB_ARRAY_TYPE,
+  gl_VERTEX_PROGRAM_POINT_SIZE,
+  gl_VERTEX_PROGRAM_TWO_SIDE,
+  gl_VERTEX_SHADER,
+  gl_VIEWPORT,
+  gl_VIEWPORT_BIT,
+  gl_WEIGHT_ARRAY_BUFFER_BINDING,
+  gl_WRITE_ONLY,
+  gl_XOR,
+  gl_ZERO,
+  gl_ZOOM_X,
+  gl_ZOOM_Y,
+  -- * Functions
+  glAccum,
+  glActiveTexture,
+  glAlphaFunc,
+  glAreTexturesResident,
+  glArrayElement,
+  glAttachShader,
+  glBegin,
+  glBeginQuery,
+  glBindAttribLocation,
+  glBindBuffer,
+  glBindTexture,
+  glBitmap,
+  glBlendColor,
+  glBlendEquation,
+  glBlendEquationSeparate,
+  glBlendFunc,
+  glBlendFuncSeparate,
+  glBufferData,
+  glBufferSubData,
+  glCallList,
+  glCallLists,
+  glClear,
+  glClearAccum,
+  glClearColor,
+  glClearDepth,
+  glClearIndex,
+  glClearStencil,
+  glClientActiveTexture,
+  glClipPlane,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fv,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fv,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColorMask,
+  glColorMaterial,
+  glColorPointer,
+  glCompileShader,
+  glCompressedTexImage1D,
+  glCompressedTexImage2D,
+  glCompressedTexImage3D,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage3D,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage2D,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage3D,
+  glCreateProgram,
+  glCreateShader,
+  glCullFace,
+  glDeleteBuffers,
+  glDeleteLists,
+  glDeleteProgram,
+  glDeleteQueries,
+  glDeleteShader,
+  glDeleteTextures,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDetachShader,
+  glDisable,
+  glDisableClientState,
+  glDisableVertexAttribArray,
+  glDrawArrays,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawElements,
+  glDrawPixels,
+  glDrawRangeElements,
+  glEdgeFlag,
+  glEdgeFlagPointer,
+  glEdgeFlagv,
+  glEnable,
+  glEnableClientState,
+  glEnableVertexAttribArray,
+  glEnd,
+  glEndList,
+  glEndQuery,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glFeedbackBuffer,
+  glFinish,
+  glFlush,
+  glFogCoordPointer,
+  glFogCoordd,
+  glFogCoorddv,
+  glFogCoordf,
+  glFogCoordfv,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFrontFace,
+  glFrustum,
+  glGenBuffers,
+  glGenLists,
+  glGenQueries,
+  glGenTextures,
+  glGetActiveAttrib,
+  glGetActiveUniform,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetBooleanv,
+  glGetBufferParameteriv,
+  glGetBufferPointerv,
+  glGetBufferSubData,
+  glGetClipPlane,
+  glGetCompressedTexImage,
+  glGetDoublev,
+  glGetError,
+  glGetFloatv,
+  glGetIntegerv,
+  glGetLightfv,
+  glGetLightiv,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPointerv,
+  glGetPolygonStipple,
+  glGetProgramInfoLog,
+  glGetProgramiv,
+  glGetQueryObjectiv,
+  glGetQueryObjectuiv,
+  glGetQueryiv,
+  glGetShaderInfoLog,
+  glGetShaderSource,
+  glGetShaderiv,
+  glGetString,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGeniv,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetUniformLocation,
+  glGetUniformfv,
+  glGetUniformiv,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribdv,
+  glGetVertexAttribfv,
+  glGetVertexAttribiv,
+  glHint,
+  glIndexMask,
+  glIndexPointer,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glInitNames,
+  glInterleavedArrays,
+  glIsBuffer,
+  glIsEnabled,
+  glIsList,
+  glIsProgram,
+  glIsQuery,
+  glIsShader,
+  glIsTexture,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLineStipple,
+  glLineWidth,
+  glLinkProgram,
+  glListBase,
+  glLoadIdentity,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadName,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixf,
+  glLogicOp,
+  glMap1d,
+  glMap1f,
+  glMap2d,
+  glMap2f,
+  glMapBuffer,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMatrixMode,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixf,
+  glMultiDrawArrays,
+  glMultiDrawElements,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sv,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sv,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sv,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sv,
+  glNewList,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fv,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormalPointer,
+  glOrtho,
+  glPassThrough,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelZoom,
+  glPointParameterf,
+  glPointParameterfv,
+  glPointParameteri,
+  glPointParameteriv,
+  glPointSize,
+  glPolygonMode,
+  glPolygonOffset,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopMatrix,
+  glPopName,
+  glPrioritizeTextures,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushMatrix,
+  glPushName,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glReadBuffer,
+  glReadPixels,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRenderMode,
+  glRotated,
+  glRotatef,
+  glSampleCoverage,
+  glScaled,
+  glScalef,
+  glScissor,
+  glSecondaryColor3b,
+  glSecondaryColor3bv,
+  glSecondaryColor3d,
+  glSecondaryColor3dv,
+  glSecondaryColor3f,
+  glSecondaryColor3fv,
+  glSecondaryColor3i,
+  glSecondaryColor3iv,
+  glSecondaryColor3s,
+  glSecondaryColor3sv,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiv,
+  glSecondaryColor3us,
+  glSecondaryColor3usv,
+  glSecondaryColorPointer,
+  glSelectBuffer,
+  glShadeModel,
+  glShaderSource,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fv,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fv,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoordPointer,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfv,
+  glTexGeni,
+  glTexGeniv,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage3D,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexSubImage1D,
+  glTexSubImage2D,
+  glTexSubImage3D,
+  glTranslated,
+  glTranslatef,
+  glUniform1f,
+  glUniform1fv,
+  glUniform1i,
+  glUniform1iv,
+  glUniform2f,
+  glUniform2fv,
+  glUniform2i,
+  glUniform2iv,
+  glUniform3f,
+  glUniform3fv,
+  glUniform3i,
+  glUniform3iv,
+  glUniform4f,
+  glUniform4fv,
+  glUniform4i,
+  glUniform4iv,
+  glUniformMatrix2fv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix3fv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix4fv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x3fv,
+  glUnmapBuffer,
+  glUseProgram,
+  glValidateProgram,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertexAttrib1d,
+  glVertexAttrib1dv,
+  glVertexAttrib1f,
+  glVertexAttrib1fv,
+  glVertexAttrib1s,
+  glVertexAttrib1sv,
+  glVertexAttrib2d,
+  glVertexAttrib2dv,
+  glVertexAttrib2f,
+  glVertexAttrib2fv,
+  glVertexAttrib2s,
+  glVertexAttrib2sv,
+  glVertexAttrib3d,
+  glVertexAttrib3dv,
+  glVertexAttrib3f,
+  glVertexAttrib3fv,
+  glVertexAttrib3s,
+  glVertexAttrib3sv,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4Niv,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4Nub,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4bv,
+  glVertexAttrib4d,
+  glVertexAttrib4dv,
+  glVertexAttrib4f,
+  glVertexAttrib4fv,
+  glVertexAttrib4iv,
+  glVertexAttrib4s,
+  glVertexAttrib4sv,
+  glVertexAttrib4ubv,
+  glVertexAttrib4uiv,
+  glVertexAttrib4usv,
+  glVertexAttribPointer,
+  glVertexPointer,
+  glViewport,
+  glWindowPos2d,
+  glWindowPos2dv,
+  glWindowPos2f,
+  glWindowPos2fv,
+  glWindowPos2i,
+  glWindowPos2iv,
+  glWindowPos2s,
+  glWindowPos2sv,
+  glWindowPos3d,
+  glWindowPos3dv,
+  glWindowPos3f,
+  glWindowPos3fv,
+  glWindowPos3i,
+  glWindowPos3iv,
+  glWindowPos3s,
+  glWindowPos3sv
+) where
+
+import Graphics.Rendering.OpenGL.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Tokens
+import Graphics.Rendering.OpenGL.Raw.Functions
